---------------------------------------------------------------------------- The Florida SunFlash Catalyst Flash: SunSoft Developer Newsletter * Spring 1994 * Volume 5, No. 1 Part 1 of 3 SunFLASH Vol 66 #83 June 1994 ---------------------------------------------------------------------------- The Electronic Journal For Sun Users Since 1988 John J. Mclaughlin, Publisher & Editor - flash@sun.com ____________________________________________________________________________ 66.83 Catalyst Flash: Developer Newsletter - Volume 5, No. 1 (1 of 3) From: Catalyst-Flash@Sun.Com (Susan Yeh) This is a text version of a newletter produced by Susan Yeh of SunSoft for developers. Many thanks to Susan for converting the newsletter to plain text and for giving me permission to post it to SunFlash. I have divided the newsletter into three parts as many people have a problem with mail messages greater that 32k. -johnj (432 lines) ---------------------------------------------------------------------------- ================================================================================ ___ _ _____ _ ___ _____ ___ _ ___ | | / \ | / \ | \ / / | | | / \ / | | | /___\ | /___\ | \ / \__ | |___ | /___\ \__ |___| | | | | | | | | \ | | | | | \ | | |___| | | | | | |___ | ___/ | | |___ | | ___/ | | SunSoft Developer Newsletter * Spring 1994 * Volume 5, No. 1 Part 1 of 3 ================================================================================ Welcome to the Catalyst FLASH developer newsletter. Published quarterly, the newsletter covers products, programs, and technical issues for the SunSoft developer community. Comments or questions can be directed to: E-mail: Catalyst-Flash@Sun.Com Editor: Susan Yeh On-line articles may not include all graphic illustrations printed with the hard copy newsletter. The information contained in this newsletter is copyright and may not be modified or republished without the express written permission of SunSoft. ================================================================================ Contents: Part 1 of 3 SUNSOFT ANNOUNCES SOURCE COMPABTIBLE SOLARIS FOR SPARC AND X86 NEW SOLARIS X11 SERVER - BUILT ON STANDARDS 2 of 3 GET READY FOR THE SOLARIS COMMON DESKTOP ENVIRONMENT TELEPHONY COMPUTING WITH XTL TELESERVICES 3 of 3 NEW FAX-ON-DEMAND HOTLINE FOR DEVELOPERS INTRODUCING THE SUNSOFT FORUM ON COMPUSERVE PROJECT DOE AND OPENSTEP EUROPEAN DEVELOPER PROGRAM TO SPUR SOLARIS X86 APPLICATION GROWTH BIL'S Q&A DO YOU USE THREADS? INTRODUCING THE SOLARIS DEVELOPER CURRICULUM BUSINESS STRATEGIES CAN YIELD HIGH RETURNS NEW SUNSOFT PRESS BOOKS WHO TO CALL ________________________________________________________________________________ Subject: SUNSOFT ANNOUNCES SOURCE COMPABTIBLE SOLARIS FOR SPARC AND X86 ________________________________________________________________________________ At the Solaris(R) Developer Conference in April, SunSoft(TM) President Ed Zander will detail the upcoming new source compatible release of Solaris for SPARC(R) and x86. Solaris, SunSoft's flagship product, is the most advanced 32-bit UNIX platform and only operating system offered on both SPARC and x86 systems today. With the new release, due out this summer, the Solaris operating environment will be the only enterprise-ready platform with identical features on both SPARC and x86 systems. Commercial and corporate developers of client/server solutions who need a powerful operating environment and tools, can take advantage of Solaris technologies to meet their needs. Solaris includes multithreading and multiprocessing (MT/MP), robust networking services such as the ONC+(TM) distributed computing platform, and support for technology standards such as X11R5 and Motif(R). With the new release of Solaris, x86 power users will be able to take advantage of the latest functionality currently available only to Solaris SPARC customers. Enhanced OS and Networking Capabilities Solaris x86 users can access features of SunOS(TM) 5.x, the most advanced SVR4 implementation available today, and ONC+, which includes NFS(R), with over 4 million installed nodes. - AutoFS and CacheFS for fast network performance - MultiThreading and MultiProcessing for user level and kernel level applications = faster applications. - Bundled C2-certified security for government and users who demand high data integrity - Enhanced POSIX support - Support for multiple locales: French, Latin American, Spanish, German, Swedish, Japanese, Korean, Chinese (People's Republic of China), and Chinese (Republic of China) Advanced GUI-Based Desktop and Tools The new version of Solaris, based on X11R5, offers a complete developer and end user GUI environment. It will support the Common Desktop Environment release that will be delivered in the near future. Features include: - Industry standard X11R5 server for fast performance and throughput of distributed, GUI-based applications - Adobe Display PostScript - An emerging industry standard display technology - XIL, XGL and PEX for 2D and 3D imaging, graphics and full motion video applications - Wabi(TM) support allowing Microsoft(R) Windows' compliant binary applications to run unmodified on UNIX(R) - ToolTalk(R) Service for interapplication communication and application integration New features in the upcoming release for both architectures will be discussed and detailed at the conference. The new Solaris release will bring telephony to the desktop and server, enabling both commercial and corporate developers the ability to integrate the telephone with their applications. Other new Solaris features will include high reliability and easier system administration and management tools for the corporate enterprise and it's mission critical applications. The common source base and advanced features of the Solaris operating environment will enable Solaris x86 users to increase their capabilities, and take advantage of the power and features previously unavailable on the x86 platform. ________________________________________________________________________________ Subject: NEW SOLARIS X11 SERVER - BUILT ON STANDARDS ________________________________________________________________________________ By Susan Bickford, Software Engineering Manager, Susan.Bickford@Sun.Com The gateway to Solaris(TM) for most users is through OpenWindows(TM) and although many users may not notice it, the heart of that user experience has recently gone through a substantial transformation. With Solaris 2.3, SunSoft(TM) has started shipping a new implementation of the X Window server in OpenWindows 3.3 which is based on the X Consortium R5 implementation with the Adobe(R) Display PostScript(TM) extension. This represents a strategic alignment with SunSoft's commitment to open standards and provides a flexible and extensible model for the SPARC(R) and x86 platforms, and Solaris developers. Basic Overview The X Window system provides a critical bridge between hardware devices such as framebuffers, keyboards, and mice, and higher-level elements such as toolkits and applications. It does this in a "distributed" fashion allowing the window server, which is displaying the applications, to be independent from the machine running the application (or client). By design, the X Window System is independent of the toolkits and applications that make use of its functionality. Looking at the current OpenWindows environment, we can see that it is built in layers. At the top most layer, we find applications such as the Mailtool and File Manager in the DeskSet(TM). These applications are written with toolkits such as XView(TM) and OLIT. Toolkits provide convenient abstractions for the underlying window system, which is comprised of the window server and it's client-side libraries (e.g., Xlib for creating and manipulating windows). Since the toolkits are built independently on top of the X window system, developers may also choose to write their applications using the Motif(R) toolkit. By following standard development practices, X applications may be run simultaneously on the same display, regardless of the toolkit used. Looking toward the future, this means that the Solaris X Window system is inherently "CDE ready". Applications which need to create graphics may choose from the basic 2D functionality of Xlib, the 2D and 3D capabilities of XGL(TM), the powerful imaging capabilities of XIL(TM), or the WYSIWYG PostScript Level II environment found in the Display PostScript extension from Adobe. The window server provides these graphical libraries with the facilities to use the window server's own underlying graphical capabilities or to coordinate direct access to the framebuffer hardware seamlessly, without disrupting other applications. The Solaris OpenWindows Server Implementation The X Window System from the X Consortium is defined as a protocol, commonly referred to by its version number: X11, plus its revision number, e.g. R5. The Consortium also provides a sample implementation which has been commonly used as a starting point for many X11 vendors. Prior to Solaris 2.3, the OpenWindows server was based on an independent implementation called X11/NeWS(TM) that provided the functionality of X11 with the capabilities of NeWS which was based on an extended PostScript model. Moving to the X Consortium sample implementation has a number of important benefits: * Leverage - Since the X Consortium sample server is used as the starting point for many X11 vendors, it has benefited from being able to leverage the engineering and problem solving talents of the entire industry. Bugs are submitted, fixes provided, and updates given at regular intervals. By the R5 time frame, the sample server was able to deliver a mature base technology with good fundamental performance for many standard platforms. * Portability - X11 was designed to be portable across multiple hardware platforms and operating systems. As SunSoft turned itself to address the Solaris for x86 product, the benefits of a standard, portable server gained clear strategic importance. In particular, given the large number of hardware solutions in the Intel space made aspects such as the graphics porting layer increasingly important. * Extensibility - X11 provides fundamental windowing services that may be expanded by an extension mechanism. Numerous extensions have been de- veloped by the Consortium and its members, many of which are freely available. By using the sample server as the starting point for the Solaris operating environment, SunSoft is able to take advantage of these implementations more quickly, and also provide a standard interface for third parties to provide modular solutions. * Quality and Performance - Most importantly for all users and developers, by basing the OpenWindows server on this sample implementation, SunSoft has been able to aggressively tackle quality and performance. With Open- Windows 3.3, we lowered the memory requirements while achieving 80% improvement in graphics primitives performance and an 83% improvement for window operations. In most cases, we were even able to beat the X Consortium sample server, despite adding a number of new features. What Does this Mean to You? For most users and developers, the transition to the Solaris 2.3 OpenWindows server should be completely transparent for almost all X11-based applications. All the client-side interfaces were already based on X11R5 starting in Solaris 2.2, and these remained unchanged aside from bug fixes in Solaris 2.3. However, there are several areas which may have an impact on existing applications: * Applications using NeWS - X11 applications which take advantage of the NeWS imaging capabilities of the X11/NeWS server will have to be ported to use the Adobe DPS extension. Although SunSoft does not currently provide any tools to automate this process, there are many equivalent features and common approaches between using NeWS and DPS. DPS is not a full-fledged window system as NeWS was, and does not have a number of features such as an input model. However, for use within X applications, the DPS developer gains full, Adobe-certified PostScript Level II, the de facto industry standard for WYSIWYG display and printing. In addition to full SunSoft support, Solaris developers may also take advantage of a number of Adobe developer programs, including free access to Adobe's ftp server for the latest tips, documentation, and sample code. * Changes in some system administration areas, particularly fonts - There are new server private directories found under /usr/openwin/server, containing banner images, configuration files, server ddx modules, and device handles. The server font directory has moved from: /usr/openwin/lib/fonts to /usr/openwin/lib/X11/fonts to match the hierarchy provided by the X Consortium. There have also been some changes in how the font directories are administrated. This is particularly important if your application makes use of customized fonts, fonts acquired from third parties, or fonts not shipped by default as part of OpenWindows. All font formats found in Solaris 2.2 and earlier are still supported. However, utilities such as convertfont and bldfamily have been replaced with standard utilities found in the X Consortium sample release (e.g. bdftosnf, bdftopcf, mkfontdir). Font administration files such as Families.list and Synonyms.list need to be updated to fonts.dir and fonts.alias files that are compatible with the X Consortium distribution. * Extensions - For binary compatibility, all the extensions found in earlier releases are included in OpenWindows 3.3. However in the case of the XInputDevices extension, developers should now consider porting to the standard X Consortium XInputExtension, and they may wish to take advantage of several new extensions as well. What's New in X11R5 and OpenWindows 3.3? The OpenWindows 3.3 server is not just a new implementation - it is also a new version of the server, based on X11R5. The R5 sample implementation from the X Consortium provides a number of features and numerous bug fixes. Interestingly, many of the important features are found in the client-side libraries and utilities with few, if any, dependencies on the server side. Most client-side features were already delivered to developers and users in Solaris 2.2. Some of the key features in R5 that may be of interest are: * Font server and scalable fonts - A font server provides a separate, networked mechanism to provide font services to the X11 server. This is done completely transparently to developers and users and there are no changes required at the application-level to take advantage of a font server. With R5, the X Consortium also delivered the ability to scale both bitmapped and outline fonts in Speedo (Bitstream) and Adobe Type1 formats for the first time. The OpenWindows 3.3 server supports connections to font servers, although we do not ship a font server at this time. In addition to its continued support for F3 and Type1 outline fonts and the fb bitmap format, OpenWindows 3.3 provides support for Speedo and the X Consortium bitmapped formats: pcf, snf, and bdf. * Device-Independent Color - On the client-side, there is now an Xlib interface for device-independent color called XCMS. This was delivered to Solaris customers in OpenWindows 3.2. * Internationalization - The R5 release contained significant changes on the client side to handle internationalization, particularly for multi-byte locales. Solaris delivered an enhanced version of these features in the Asian release of Solaris 2.0.1, and for all users and developers in Solaris 2.2. * Resource Management - There are a number of changes in Xlib and Xt resource management which provide enhanced flexibility for managing the appearance and behavior of applications across multiple screens which may be of different type, e.g. monochrome and color. * 3D Structured Graphics - R5 included the PEX extension and a client library known as PHIGS-SI. As the developer of the sample implementation of PEX, SunSoft has been supporting PEX and PHIGS for several releases. Where SunSoft Adds Value with OpenWindows SunSoft adds value to standard X Windows in the following ways: * Performance and Quality - Performance is serious business for us, even though the X Consortium sample server typically shows fairly good performance. In addition to all the bug fixes provided via the X Consortium, we also spend a large portion of our time and efforts on testing and bug fixing. * Platform support - SunSoft has invested extensively in refining and extending the X Consortium interfaces to accommodate other architectures, particularly x86 and PowerPC(TM). * Keyboard Enhancements - SunSoft has added support for compose key processing for flexible definition of symbols and international characters, LED support, and the ability to switch keyboard types and restart the server - an important feature for internationalization. * DDX and the DDK - The availability of loadable device support through the DDX interface is particularly important to multi-platform hardware vendors. IHVs now have access to the DDX interface through the Solaris DDK product. * X Input Extension Enhancements - The OpenWindows 3.3 server implements the full X Windows extension and has added the capability to add or remove devices, dynamically restarting the server, and without the necessity for statically building them in. * Display PostScript - Adobe Display PostScript Level II is fully integrated into OpenWindows 3.3. SunSoft's OpenWindows DeskSet PostScript-based tools - Pageview, Imagetool, and Answerbook - all now use DPS. * MT-Safe Xlib - Included with OpenWindows is an implementation of Xlib which is Multithreaded-Safe (MT-safe), allowing developers to fully leverage the advantages of threading in their applications. * Fonts - In addition to supporting all the standard X formats, SunSoft has added F3 format support to both the DPS and X11 components, including full functionality for 8-bit and multibyte fonts. SunSoft also now uses Adobe technology for rendering Type1 fonts in both X and DPS. Coming in the Next Release of OpenWindows... * x86 - Intel platform support is a major focus for the next release. Working from a single source base, SOLARIS SPARC and x86 will have simultaneous releases with identical functionality and full interoperability. * Quality & Performance - Quality and performance will continue to be emphasized. A new Interactivity Extension has also been added which raises the priority of the application currently in use. * Transparent Overlays - The next release of OpenWindows will provide the ability for overlaying windows to "see through" to underlying graphics. At the application level, there will be a new overlay window creation request -- XCreateOverlayWindow -- and a new GC "paint type" attribute, which may transparent or opaque, as well as new image manipulation routines. * Multi-buffering Extension (MBX) - The multi-buffering extension from the X Consortium is approaching draft standard status. In the coming release of Solaris, OpenWindows will provide version 1.0 of this extension, which allows multiple buffering between an arbitrary number of buffers for smooth animation and updating effects. * DGA Drawable - Currently, DGA only allows direct access to windows. The goal of the DGA drawable feature is to extend the DGA interface to allow applications based on PEX to use MBX and provide direct access to pixmaps. * AccessX - The next release of OpenWindows will support sticky keys (for situations where normally 2 or more keys must be pressed simultaneously), mouse keys (keyboard substitution for motion and button events), repeat keys (configuration of keyboard repeat delay), slow keys (configuration of delay before system will recognize a key stroke), bounce keys (delay between keystrokes to prevent inadvertent key presses), and toggle keys (identify state of locking keys with an audio sequence). * DPS and Fonts - Adobe has provided a new client-side DPS library with transparent support for connecting to an NX agent in cases where the DPS extension is not available, e.g. X terminals or platforms where DPS is not supported. The NX agent is as a client-side process which generates X protocol requests to the server and handles communication to and from the DPS client. DPS and XATM, the Adobe Type1 font scaler for X, will also enable the use of pfb format Type1 fonts, the most common format found on PC class machines. Kodak Color Sense on the Horizon Kodak and SunSoft are working jointly on providing a fully integrated framework for sophisticated color management based on the Kodak Color Sense (KCS) product. Available for early developers later this year, KCS provides a C callable API for color aware applications and will also provide transparent support in SunSoft's graphics libraries such as Xlib, XIL, XGL, and DPS. The framework also provides a C++ Color Management Module (CMM) interface for developers with experience in color science to incorporate their own color management algorithms into the KCS framework. The KCS color management technology by default will be based on Kodak's ColorSync 2.0 implementation. Device profiles for reference platform monitors (SPARC and x86), scanners, and printers based on ColorSync 2.0 will ship as part of Solaris. Software developers of color-aware applications, CMMs, and IHVs providing color devices may be candidates for the early developers release and should contact Susan Bickford, Susan.Bickford@Sun.Com for more information.