|Column Tag:||From the Field
What did happen at the World Wide Developers Conference?
By Bruce D. Kyle, DataPak Customer Services
About the author
Bruce Kyle works for DataPak Softwares Customer Service Department. In addition, he is also doing the development work for MacTutors 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 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 especially 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
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 prerecorded sequences.
AppleEvent Registry Suites
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.
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 especially 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.