WWDC '92
Volume Number: 8
Issue Number: 3
Column Tag: From the Field
WWDC Report
What did happen at the World Wide Developers’ Conference?
By Bruce D. Kyle, DataPak Customer Services
About the author
Bruce Kyle works for DataPak Software’s Customer Service Department. In
addition, he is also doing the development work for MacTutor’s latest CD-ROM, Volumes
1-7 available in July.
Apple has recently announced a vast array of products and system enhancements.
These announcements, when brought to completion, will mean new ways for writing and
implementing applications. Many announcements at Apple's Worldwide Developers'
Conference will specifically affect how documents and produced.
These include a second generation type and drawing (imaging) technology, a
strategy to port software to both Windows and PowerPC/Mac, and documentation and
program integration.
To take advantage of these new enhancements, applications will have to be
rewitten to some extent. Most of the additions will require System 7 and will not be
released for up to another year.
Quickdraw GX
Quickdraw GX was announced as Apple's response to Adobe Display PostScript. It
coexists with the current Quickdraw. It is due sometime in 1993. GX includes new
drawing capabilities, new font capabilities and an open print architecture. GX doesn't
replace Quickdraw, it enhances it. It is resolution independent so it will display on
non-square pixel and high resolution monitors. It is object-oriented, in that it deals
with graphical objects in a heirarchy rather than pixels-based drawing of Quickdraw.
These graphical objects (collectively called shapes) can be transformed: stretched,
skewed, distorted and rotated. Primary shapes are points, lines, curves, rectangles,
polygons, text, bitmaps and pictures. It supports seven or more color spaces, such as
RGB, HSV, HSL, CIE, YIQ, LAB and LAV. To take advantage of many features new fonts
will be required, although GX will continue basic support of TrueType 1 and PostScript
Level 1 fonts.
Fonts are first class objects and will have the ability to be transformed just as
the other shapes are. So text will be stretched, skewed, distored, and rotated. Text will
be selected and edited in the transformed shape. The new text capabilities, identified
under the misnomer Line Layout Manager (it really isn't a Manager in the traditional
Mac Toolbox sense), will support multiple languages, like Arabic, Japanese and Roman
text in the same line of text. It will automaticaly manipulate glyphs, a visual
representation of characters that are different from the underlying characters.
Information about the glyph is stored in the font itself. For example, when "ae" is
typed, it will appear as "æ" with each half being able to be selected and edited. This is
e specially important in Arabic where details of the letter shape are based on context.
Language, script information (about whether it is left- or right-reading) and details
about how letters can be combined will be stored in the font. It will be possible for a
document to do spell checking on multiple languages within the same document (using
the Dictionary Manager).
New styles will support a degrees of style which can be specified by the user:
weight (light to bold variations), width (condensed to expanded), posture (normal to
italic), optical size, ductility (self modification of spacing for justification). And the
fonts won't be taking up system memory, they'll be cached onto the disk when not used.
A new Open Print Architecture will similify the Page Setup and Print dialogs,
provide drag and drop to printer icons in the finder. It will change how printer drivers
are written making printer to devices such as plotters easier. The Open Print
Architecture provides routines that allow the driver to convert the image to whatever it
needs, PostScript, raster images (bitmaps), or vectors (for plotters). Printing
extensions are allowed by dropping into the system folder, they appear in an
application's Document Setup dialog box. Apple believes there will be a market for
printer extensions since developers don't need to have the printer driver's source code
to add functionality to a printer driver.
Quickdraw GX will probably require System 7 and come as a system extension,
similar to QuickTime. There is nothing to prevent porting it to Windows, although no
announcement was made at WWDC '92.
An Overview of QuickDraw GX
Portability is becoming a key issue. Apple is responding to developer desire to
port applications to Windows and the need to port applications to the PowerPC/Mac.
Apple demonstrated QuickTime running under Windows. It seems to fortell
Apple's strategy of taking newer "advanced" technology such as QuickTime, and possibly
GX, OCE and others, and making it available for Windows. The Mac OS will not be
ported, but certain system extensions will be ported.
Apple clearly positioned MacApp as the beginnings for cross-platform
development. It will be extended as so applications can be recompiled to run in
Windows.
(Microsoft announced a similar strategy for its object oriented environments
two weeks later, this time to port from Windows to the Macintosh.)
First and foremost, Apple was clear that IBM would not be selling the MacOS. The
Mac will probably take advantage of Taligent's kernel, but what developers and users
would see would remain Apple for Apple products.
There was a complex method described to port existing applications to the
PowerPC/Mac. Apple will support only C and C++, third parties will support Pascal on
the PowerPC/Mac. [See the NewsBits section for an announcement from Language
Systems - Ed.] Some toolbox calls will be ported, others will run inside a compatiblity
box, just as 680x0 Mac applications will.
Apple stressed that the compatiblity box concept actually works. That is where
existing Macinstosh applications retain their existing 680x0 code and be emulated on
the PowerPC/Mac.
Apple has agreed to collaborate on "FlashPort" with Echo Logic, a offshoot of
AT&T Bell Labs. FlashPort converts executible object code into native RISC code, which
run at about the speed of existing price-comparable 680x0 machines. (Presumably
much faster than if a user ran the same application in emulation mode).
Native applications can call emulator toolbox routines.
68000 applications can call native code toolbox routines.
Both applications can communicate and coexist on PowerPC.
Eventual System Configuration
Software integration
Dynamic Linked Libraries. In a small developer tools session, Apple unveiled a
Shared Library Manager to be released summer 1992 through APDA. It supports both
procedural and object oriented dynamic linking. Dynamic linking is said to be nearly as
fast as current linking. The Shared Library Manager works best when supporting C++
libraries, where it supports dynamic inheritance, verification and class identification.
This means that your software might be able to extend its functionality by dropping in
new modules into a folder with your application, restart the app, new functionality
(including menu items, user interface, everything).
AppleScript, scheduled for later this year, is being brought to life as an extension of AppleEvents. It allows users to customize applications, but requires that
applications beable to receive AppleEvents and respond. The user would use
"Hypercard-like" language to integrate several applications or to invoke new features
of a single application. It could conceivably work across a network, invoking an
application on another machine. Even applications that support the Core Suite, the four
AppleEvents: Open Application, Open Documents, Print Documents and Quit Application,
will be able be scriptable for those events. Of course, the more kinds of AppleEvents the
application supports, the more the user will be able to have your application do
through scripting. AppleScript will let users execute pre recorded sequences.
AppleEvent Registry Suites
OCE
OCE (Open Collaboration Environment) promises to make messaging easier than
printing. It is scheduled for release in October. OCE extends the Mac to provide mail,
ability to send messages, directory and digital-signatures. It will essentially allow
mail to be conducted within the Finder and is said to require 8 Meg Macs.
All programs can take advantage of OCE by using open standard programming
interfaces. Currently, Macs can use InterApplication Communication (IAC) to
communicate between programs. Under OCE, these programs do not have to be running
at the same time. The "messages" can be sent between applications, to individuals, to
mail centers on other platforms.
Packages within OCE provide the necessary services. The Collaboration Package
provide a standard user interface. Standard Mail Package provides how messages and
attachments are sent. The mail arrives to a user's In Tray, icon/window that contains
all the mail within the Finder. The Standard Directory Package provides standard
dialog boxes to add browsing to OCE.
The Interprogram Messaging (IPM) Manager handles includes, the message
header (addressing, priority and control information) and message body. The IPM
Manager creates, sends, receives, displays and manipulates the messages. The Directory
Manager is a hierarchical system that holds the list who or what can receive a message.
The list itself can be stored on the Mac as a personal directory or in a database on a
distant machine.
The Digital Signature Toolbox is used to identify the sender. It guarantes the
authenticity of the person sending the document. It embeds a code that can check and
verify that the data was signed and not changed. The signature can be applied to an
entire document or to a part of one.
World-Ready
Apple is stressing "World-Ready" software. Scripts (not to be confused with
scripting languages) are important to software since they dictate how text is entered
and read for a given language. Scripts can be Roman (reading left to right) or can be be
non-Roman (reading right to left or top to bottom). Combining these scripts has been a
limitation on the Mac which now wants to be World-Ready.
System 7 Release 7.1 is the first fully featured version of System 7 for Chinese,
Japanese and Korean in its support of True Type fonts. And includes a special "Font
Folder" inside the System Folder. It has built-in support for double-byte languages
those that require more than 256 characters. World Script I and World Script II
extensions support single- and double-byte langauges.
The Text Services Manager allows you to manage, catalog and access software
objects that provide various ways of entering glyphs. A glyph is a indivisible unit in a
written language. It is e specially important in Chinese and Japanese where text entry is
complex.
There are four levels of support for handling multiple scripts (text entry
styles). Mulitscript-compatible applications provide minimal support and might grey
out certain options that would support that script. Multiscript-aware applications let
the user switch to any available script to enter data into a field. This type of
application might assume a single script in a data field, for example. Modularly
upgradable application is compatible with multiple languages. Finally
user-selectable-interface application would allow users to change scripts used in
menus, dialog boxes and editing text.
BENTO is being proposed as an "industry standard" cross-platform standard for
documents containing multiple data types, including multi-media.
Translation Manager makes format conversion among documents more
transparent than the existing XTND technology.
Pen technology was shown which takes gestures on input tables and turns them
into characters and mouse movements. Like some of Apple's new technology, these
basic services can be accessed without changes to the existing code. The user simply
writes using a tablet and characters are drawn and recognized on the screen. Developers
can extend software by providing custom recognizers and do more extensive pen input.
And the list goes on and on, enhancements to QuickTime, more details on how
Talignet's work will change the Mac. These will be covered more when we know more
about them.