Fresco Frequently Asked Questions


What is Fresco?
What new functionality will Fresco provide?
When will Fresco be available?
What GUI(s) will Fresco provide?
What is the relationship between Fresco and the Motif library (Xm)?
What is the relationship between Fresco and InterViews?
What platforms will Fresco run on, especially non-Unix/X11?
How does one find out more about CORBA?
Has Unidraw been ported to Fresco?
Why do I get link errors using gcc on Solaris?
What are the known problems with Fresco?
What about Standardization?

What is Fresco?

Fresco is an object-oriented application programming interface (API) for graphical user interfaces, covering functionality in Xlib and Xt, and adding structured graphics and application embedding. Fresco offers a broad range of functionality, including low-level display and window management, structured graphics hierarchies, and UI widgets such as buttons and editors. An application may choose to use part of Fresco within another environment, such as using Fresco structured graphics capabilities from within Xt, or an application may choose to use Fresco solely.

What new functionality will Fresco provide?

The most important advance is support for graphical embedding. By that, we mean that Fresco will provide a single, simple model of graphical objects that supports composition of both graphical objects as in a drawing editor (circle, polygon, etc.) and application-level editors as in OLE (word processor, spreadsheet, etc.). Also, Fresco uses a standard object model (OMG CORBA) that allows for transparent distribution of user interface components, which is especially useful for application embedding. Finally, Fresco graphics is screen resolution-independent, meaning objects can appear the same on different kinds of displays or when printed.

When will Fresco be available?

Fresco is a research project, and not a commercial product. The latest development snapshots are publicly available via the world wide web (How To Get It) and anonymous ftp (ftp.faslab.com/pub/Fresco).

What GUI(s) will Fresco provide?

The Fresco specification, like Xt, does not specify concrete widgets. The May96 release has simple buttons, scrollbars, menus, and dialogs, and viewports. These widgets follow the Motif and Windows 95 styles as closely as feasible.

What is the relationship between Fresco and the Motif library (Xm)?

Fresco offers some functionality not found in Motif. Because some of this functionality covers intrinsic capabilities (especially graphical embedding and the CORBA object model), it is possible to implement native Fresco widgets with the Motif GUI. However, we expect that many applications will wish to use both Fresco and Motif objects. An important aspect of the Fresco design is the ability to interoperate with Xt/Motif widgets.

What is the relationship between Fresco and InterViews?

Fresco draws many ideas from InterViews, especially in the areas of structured graphics, resolution-independence, and attribute management. There are many conceptual similarities between InterViews and Fresco, but also a number of differences. No attempt has been made to make Fresco compatible in any sense with InterViews, though an InterViews distribution could provide a compatibility layer based on Fresco.

What platforms will Fresco run on, especially non-Unix/X11?

Fresco can run on many platforms. The current snapshot supports Unix/X11 (X11R5 or later) as well as Windows NT . The Fresco API contains no dependencies on Xlib or Xt, so while the Unix/X11 sample implementation uses Xlib the Windows NT sample implementation uses the native Win32 libraries.

Fresco currently requires dynamic loading of shared libraries, and explicitly supports but does not require multithreading.

See the How to get it page for information about available platforms.

How does one find out more about CORBA?

One can access the OMG world wide web site or use anonymous ftp to ftp.omg.org. Here is a quote from the "CORBA" file in pub on ftp.omg.org:

The Common Object Request Broker Architecture Specification (CORBA) document is available from OMG for a small fee to non-members of the OMG, to help recover the cost of developing and printing the specification. To order the CORBA document or any other OMG public document, please see the publication order form below, or contact documents@omg.org.

Has Unidraw been ported to Fresco?

Unidraw has not been fully ported to Fresco, but fdraw does use manipulators, tools, and commands.

Here is a description of Unidraw from John Vlissides thesis Generalized Graphical Object Editing (Technical Report: CSL-TR-90-427):

"Unidraw is a framework for creating object-oriented graphical editors in domains such as artistic drawing, music composition, and circuit design. The Unidraw architecture simplifies the construction of these editors by providing programming abstractions that are common across domains. Unidraw defines four basic abstractions: components encapsulate the appearance and semantics of objects in a domain, tools support direct manipulation of components, commands define operations on components and other objects, and external representations define the mapping between components and the file format generated by the editor. Unidraw also supports multiple views, graphical connectivity and confinement, and dataflow between components. This thesis describes the Unidraw design, implementation issues, and three experimental domain-specific editors we have developed with Unidraw; a drawing editor, a user interface builder, and a schematic capture system. Our results indicate a substantial reduction in implementation time and effort compared with existing tools."

Why do I get link errors using gcc on Solaris?

If you are getting link errors trying to build the programs (such as "hello"), try adding -lnsl -lthread -lsocket to your link line.

What are the known problems with Fresco?

See our Known Problems page for the latest information.

What about Standardization?

There are currently no standardization efforts taking place.
Send comments or questions to our mailing list at
fresco@merlin.iuk.tu-harburg.de

Last updated on Tue May 21 11:16:11 PDT 1996.