Update: macOS High Sierra

High Sierra features changes primarily behind te scenes. Computers with solid state drives
will be converted to Apple's new high-performance file system, APFS. Generally this won't
even be visible to most users but expect utilities which do low-level file operations
to stop working. Apple's graphics technology, Metal, is also enhanced which should
improve the performance of graphics-intensive stuff like games when it is used by developers.

In addition there are the usual incremental improvements to the bundled apps, such as
Safari which is even faster and has settings to control media and other features on
individual pages, and Photos, which has better person recognition, more adjustments,
and better synchronisation with other devices.

Update: macOS Sierra

First it was System, then Mac OS, then Mac OS X, then OS X, and now it's macOS.
Apple like changing their naming systems, but this one seems to fit in with the
other platforms (iOS and watchOS) which Apple has. So the name is now macOS Sierra
which continues the theme of landmarks in California used since Mavericks.

This system introduces new features which concentrate on standardising the functions
of the Mac, iPhone, and iPad. The different systems have more functionality and there
is increased interoperability between them.

Update: OS X 10.11 El Capitan

El Capitan (as the name suggests because El Capitan is a major feature in Yosemite
National Park) is mainly a performance upgrade to the previous OS version, Yosemite.
Apple have improved application launch times, made scrolling faster, and added
other enhancements, partly through the use of a new hardware acceleration model
called "Metal".

There are some new features too. Safari now has pinned tabs which allows important
pages to be left open, and individual pages can have the sound muted with one click.
Spotlight now provides a wider range of results which includes news and weather, and it
also suports some natural language searching. And a new window management system
allows easily splitting the window of two apps on the screen.

Update: Mac OS X 10.10 Yosemite

Yosemite further develops the improvements in Mavericks but the new emphasis is
on integrating the Mac operating system with iOS on the iPhone and iPad - and iPod
if anyone still has one of those! The integration takes two forms: the look of OS X
is now more flat and uncluttered, like iOS, and the two systems now work together
much better.

For example, the Mac can now automatically use an iPhone to send and
receive texts (not just internet-based iMessages like in the past); a web page
being browsed on an iPad automatically becomes available on the iPhone as well;
the Mac can easily connect to the internet through an iPhone or 3G/4G equipped
iPad; and many other functions where the devices just automatically work together.

Update: Mac OS X 10.9 Mavericks

Mavericks is a really good operating system with a few significant problems for
some people. Probably the most significant issue has been the use of GMail
accounts in Mail. A major cause of this is Google's non-standard implementation of
IMAP, but Apple have had plenty of time to get this right and it should have been
better. The 10.9.1 update improved this situation for most users.

More importantly 10.9 is very efficient "behind the scenes". Many people report it
running in less memory and faster than older systems - an unusual situation!
This is because of its improved memory management, including compression, and other
optimisations. You will need to boot into 64 bit mode so old 32 bit kernel
extensions won't work (but 32 bit programs do, of course).

Update: Mac OS X 10.8 Mountain Lion

Mountain Lion is a significant improvement over Lion in many small but useful
ways. In general I recommend moving all machines running 10.7 to 10.8. Support
for corporate services (Exchange, etc) is fairly good. Some of the more annoying
design elements in Lion are gone. Integration with iCloud (and iOS devices) is
good. You will need a Core 2 Duo processor and 4G of RAM to run this system
well, and 8G of RAM is recommended.

Update: Mac OS X 10.7 Lion

This is Apple's first serious effort at integrating functions and the interface
between the Mac and iOS devices (iPad, iPod, iPhone). Support for corporate
services is marginally improved again (a continued trend). Support for PowerPC
software us lost completely (the Rosetta environment is gone). Some of the
built-in applications have been give an "iOS look" including elements of
skeuomorphic design. Many people (me included) didn't like this. This is one of the
few operating systems which Apple released which I don't recommend: either go
to 10.8 or stay with 10.6 in most situations.

Update: Mac OS X 10.6 Snow Leopard

Mac OS X 10.6 is primarily designed to provide improved compatibility and performance
so new features are minimal. Support for Exchange servers is much better so this
system fits better into corporate environments where Exchange is common. This
system only runs on Intel hardware so it isn't an option for users of older PowerPC
Macs.

Update: Mac OS X 10.5 Leopard

Mac OS X 10.5 includes several useful additions which are often under-utilised by
new users. Maybe the most useful feature is "Quick Look" which allows viewing many
different types of files directly form the Finder without having to open the program
which created them. For example, most graphics formats, text, RTF, PDF, Word, Excel,
PowerPoint, Pages, Numbers, Keynote files can all be opened in a second by just
choosing the Quick Look command (or by simply pressing the space bar) after selecting
the file. After viewing one file using the navigation commands (arrows, tab, etc)
will Quick Look further files. Its a great way to scan through photos. Check if
a word processing file is the one you want before opening it, etc.

The Finder has been completely rewritten using a more modern programming environment
and it is much more responsive and handles multi-tasking much better than the previous
version. But the suer interface works almost the same as older versions so there's
not too much new to learn. There are many small changes which power users will
appreciate. For example, the warning when changing file name suffixes can be turned
off. And when a file is renamed only the name is highlighted and the suffix stays
the same. These are subtle but useful enhancements.

There are many smaller revisions which are just as useful. Full functionality is
finally restored to file sharing now and its possible to share any folder with
any user or group without any additional programs. The sharing and network
configurations have been revised and are both easier to use and more flexible.

Mac OS X 10.5 does not support Classic programs, even on PowerPC computers. All
major programs have been updated so alternatives are easily available in most cases.
There are some notable exceptions to this though, for example Word Perfect and
HyperCard, which are both discontinued products.

Update: Mac OS X 10.4 Tiger

The release version of Mac OS X 10.4 has been here for a while now and has already
been updated to 10.4.1 - and we expect 10.4.2 soon. It seems to be a useful
improvement and runs well even on older machines. The memory requirement is sneaking
up though, and 512M is the recommended starting memory size now. There are few
compatibility issues with Tiger, so overall its another successful very upgrade
to the Mac OS X operating system.

Update: Mac OS X 10.4 Pre-Release

Mac OS X 10.4 has many useful improvements. The most obvious are Spotlight, a
system-wide search system; Automator, a workflow automation tool; and Dashboard,
a widget system which gives you instant access to a range of useful mini-programs.
All of the bundled applications are updated as well, and the core system continues
to improve. Even with all of these extra functions, the speed of the system is
better than previous releases, a fact which shows how extensible and flexible
Mac OS X really is.

Update: Mac OS X 10.3

As well as improving the user interface and application programs bundled with Mac OS X,
Apple continues to improve the core services behind the scenes. Java has received
several revisions and the results in improved compatibility are obvious. OpenGL is
being tweaked to give better 3D graphics performance. Samba (Windows file sharing)
has been improved for better compatibility with newer versions of Windows. Many
other services are being upgraded as a result of the improvements in the Unix
core of Mac OS X, newer open source Darwin components, and new Mac OS X specific
code by Apple.

Mac OS X Core System

Mac OS X is based on BSD Unix. This provides an extremely reliable and standard
system to base Apple's own enhancements (especially in the area of user interface design) on.
Unix is widely used in large installations and on high performance computers. It
is a very widely used and well tested system which has evolved over many years
through the input of many talented and dedicated organisations and individuals.
Amongst computing professionals it enjoys almost total admiration and support.
Compare all of the above with a Microsoft OS - totally the opposite!

Unix provides protected memory so that if a program crashes (no matter how good the
system is this will always happen) the rest of the system, including all other
programs, keep running.

Unix provides a high performance, transparent virtual memory scheme. Are you
sick of allocating memory to programs and having to keep changing this amount to make
programs (like PowerPoint) work? Do you want to dispense with constantly starting and
stopping programs and maybe even restarting to free memory and prevent fragmentation?
Do you want a virtual memory system that doesn't become slow unless its set to the
minimum amount? If you use Mac OS 9 or before you might have answered "yes" to these
questions. With X forget it! Memory just happens. Just run up any programs you like and
forget about allocation, fragmentation, etc. It just works - and its fast!

Unix provides incredibly efficient multi-tasking and multi-threading. Your system can
be running dozens of tasks and you won't even notice! Open some big files, launch a few
programs, run the SETI client and do some word processing - all at the same time. Depending
on your system you may notice a slow down, but no pauses or waiting. Everything just
keeps going smoothly!

Got a computer with multi-processor support? Do you know how many processors in your
dual processor machine Mac OS 9 uses? One! Isn't that useful? Use X and both processors get
used. The current implementation only supports two but we expect more in future.

Unix provides a true multi-user environment. Users log in to their own custom environment.
They can set privileges to allow access to other users on the local disk. Each user can have
their own programs, preferences and documents.

Mac OS X supports both Mac HFS Extended and Unix UFS file systems so you can use your existing
disks without having to re-format them for Mac OS X.

Types of Programs

Mac OS X supports 5 main types of programs...

Cocoa applications written specifically for Mac OS X use all of the systems advanced features
and are the best programs to use if you can. They are written using Apple's advanced object
environment which makes writing and maintaining programs easier. The problem is that programs
written using Cocoa only run on Mac OS X and they have to be written completely from the
beginning - its difficult to "recycle" code from existing programs written for earlier
systems. Examples of Cocoa applications are Mail, OmniWeb and TextEdit.

Java applications run in Mac OS X's Java environment. These are cross-platform programs
written using the Java language. They have access to some Mac OS X features. Java programs
on Mac OS X run very reliably and quickly - they are not like the Java programs you may
have experienced in earlier systems. An example is Limewire.

Carbon applications are modified conventional Mac programs that run directly in Mac OS X but
miss out on some of the features available to Cocoa. Apple created the Carbon environment
because Carbon programs run on both Mac OS 9 and X - this provides developers a bigger
audience until Mac OS X gains a greater number of users. Also Carbon programs can quite
easily be created by modifying existing Mac OS 9 programs. Initially most new programs for
X will be Carbon. Examples are FileMaker Pro, BBEdit, iCab and Fetch (all converted older
Mac programs).

Unix programs run like they do on any other Unix system. They are generally launched from
the command line or automatically at startup. Many have graphical interfaces through
Cocoa programs so that the fact they are Unix programs is disguised. Examples are
Apache, cron, ftpd.

Classic applications are unmodified Mac programs that run in the Classic environment.
The Classic environment is essentially a complete Mac OS 9 machine running as a Mac OS X
process. Classic programs run just like they do in the conventional Mac OS. Unfortunately
this means they miss out on most of the cool stuff Mac OS X has. While the Classic
environment as a whole enjoys the benefits I listed in section 1 above, the individual
programs still suffer from the interactions, memory allocation problems, etc that we
already have with Mac OS 9 and before. Examples are Microsoft Office. Note that many
developers (including Microsoft) have promised Cocoa or Carbon versions of their
programs "soon". Running Classic applications is seen as an unfortunate temporary
necessity until more programs are converted.

Update: Classic programs will not run on Intel Macs (introduced at the beginning of
2006). All major software has been updated to run directly in Mac OS X, including
Microsoft Office (since the beginning of 2008 it has been updated to use the Intel
processor).

Common languages for program development are Objective C (Apple's object oriented
programming system specifically for X), RealBASIC (an easy to use BASIC language which
is being used to create many cool shareware programs such as Whistle Blower) and Java (the
industry standard, cross-platform environment). A development CD comes with the Mac OS X
installation pack. It contains compilers and many other tools so you can get started writing
programs immediately!

System Functions and Services

Cocoa applications have access to a "Services" menu. This allows programs to directly and
transparently interact. For example if you have typed some text in TextEdit you can send it
to someone by choosing Mail Text from the Services menu. While these sorts of services are
already available in other systems, they are far more transparent, consistent and problem-free
in Mac OS X. To install a service just drag a program to the Applications folder and
log out and in again (the logout shouldn't be necessary in future systems).

Many system-wide functions are available to Cocoa applications, for example a spell checker,
a color picking panel and a font picking panel. Add a spelling word in any program and
every other program also knows about it because they all use the same checker! Unfortunately
this currently doesn't apply to Carbon programs.

A screen showing a simple program (TextEdit) with access to system-supplied services
such as a spell-checker, a color picker and advanced typography.

The preference model is very flexible and simple. All preferences are stored the same way -
as industry-standard XML files. If a preference gets damaged (they don't but I suppose it could
happen) just open the pref file in TextEdit and fix it - you don't have to throw it out and
start again. Preferences are stored in three different places. System preferences belong to the
system and shouldn't be touched (privilege protection usually prevents this). Application
preferences that are global are stored in the application preference folder and most preferences
which are set by the user are stored in the users own preference folder (each user has one).

A very nice, full-featured, expandable screen-saver is built-in so the proliferation of
buggy, memory hogging screen savers we got with older systems is gone!