ResEdit
Encyclopedia
ResEdit was a developer tool application for the Apple Macintosh
, used to create and edit resources directly in the Mac's resource fork
architecture. It was an alternative to tools such as REdit, and the resource compiler
Rez. For the average user, ResEdit was generally easier to use, because it used a graphical user interface
. Although it had been intended to be a developer tool, power users often used it to edit icons, menus, and other elements of an application's GUI
, customizing it to their own preferences.
Resources on the Macintosh could be of many different types, and in fact any arbitrary data could be turned into a resource. While the system
defined many standard formats for particular kinds of resources (for example, an icon, or a window template), programmers were also free to define their own. ResEdit included support for editing many of the standard types and for creating arbitrary resources with any structure a programmer might have dreamed up.
ResEdit was one of the earliest examples of a GUI layout tool, an essential component for rapid application development
. For example, the Mac OS
defined a standard resource called a dialog template and a dialog items list (resource types 'DLOG' and 'DITL' respectively). In ResEdit, it was possible to simply create these types and add GUI elements to them in an almost WYSIWYG
fashion, so that you could design a user interface directly as it would appear to the end user of your application. Later, the application code could create a functional dialog box
using the stored resource data which would match the appearance you laid out in ResEdit. While hardly a revolutionary concept today, when ResEdit first appeared in the mid-1980s, this was a considerable innovation. ResEdit included standard editors for window templates ('WIND'), menus ('MENU'), dialog boxes, controls ('CNTL'), color palettes ('clut' and 'pltt'), icons ('ICON', 'cicn', 'ICN#'), and various other standard types.
One of ResEdit's most powerful features (which first appeared with ResEdit version 2.0) was the ability to define arbitrary data structures as resources using a simple template building feature. Here, the programmer simply added elemental data types to a list to define a template (itself stored as a resource of type 'TMPL'). This template allowed ResEdit to build a GUI editor on the fly that would allow entry of data and package it into the structure defined in the template. It was then a simple matter for a programmer to define a matching data structure in a chosen programming language, such as C, load the resource in a standard manner and access the data as the defined C type. ResEdit included a number of predefined templates for many standard OS resources that did not require a graphical editor.
ResEdit was never upgraded to run natively on Mac OS X
(or, indeed, on PowerPC
-based Macintoshes), as Apple now discourages the use of resource forks in new Mac OS X applications, preferring the more portable NeXT
-derived application bundles. A long-standing third-party commercial alternative named Resorcerer
remains available, and more recently there have been a number of attempts to build open-source Mac OS X-native resource editors, including one called ResKnife
. ResEdit will run in Mac OS X's Classic compatibility mode
, but Classic is neither available on Intel Macintosh computers, nor in Mac OS X v10.5
or later. However, an Intel Mac can run ResEdit via an emulator such as SheepShaver
or Basilisk II
.
The last official version of ResEdit is 2.1.3, released in August 1994. Unofficial 'hacks' released as ResEdit 2.1.4 and up exist that add features such as the ability to edit data forks, but these are entirely unsupported by Apple.http://www.ambrosiasw.com/forums/lofiversion/index.php/t16211.html
Macintosh
The Macintosh , or Mac, is a series of several lines of personal computers designed, developed, and marketed by Apple Inc. The first Macintosh was introduced by Apple's then-chairman Steve Jobs on January 24, 1984; it was the first commercially successful personal computer to feature a mouse and a...
, used to create and edit resources directly in the Mac's resource fork
Resource fork
The resource fork is a construct of the Mac OS operating system used to store structured data in a file, alongside unstructured data stored within the data fork. A resource fork stores information in a specific form, such as icons, the shapes of windows, definitions of menus and their contents, and...
architecture. It was an alternative to tools such as REdit, and the resource compiler
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...
Rez. For the average user, ResEdit was generally easier to use, because it used a graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
. Although it had been intended to be a developer tool, power users often used it to edit icons, menus, and other elements of an application's GUI
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
, customizing it to their own preferences.
Resources on the Macintosh could be of many different types, and in fact any arbitrary data could be turned into a resource. While the system
System 7
System 7 is the name of a Macintosh operating system introduced in 1991.System 7 may also refer to:* System 7 , a British dance/ambient band* System 7 , 1991 album* IBM System/7, a 1970s computer system...
defined many standard formats for particular kinds of resources (for example, an icon, or a window template), programmers were also free to define their own. ResEdit included support for editing many of the standard types and for creating arbitrary resources with any structure a programmer might have dreamed up.
ResEdit was one of the earliest examples of a GUI layout tool, an essential component for rapid application development
Rapid application development
Rapid application development is a software development methodology that uses minimal planning in favor of rapid prototyping. The "planning" of software developed using RAD is interleaved with writing the software itself...
. For example, the Mac OS
Mac OS
Mac OS is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems. The Macintosh user experience is credited with popularizing the graphical user interface...
defined a standard resource called a dialog template and a dialog items list (resource types 'DLOG' and 'DITL' respectively). In ResEdit, it was possible to simply create these types and add GUI elements to them in an almost WYSIWYG
WYSIWYG
WYSIWYG is an acronym for What You See Is What You Get. The term is used in computing to describe a system in which content displayed onscreen during editing appears in a form closely corresponding to its appearance when printed or displayed as a finished product...
fashion, so that you could design a user interface directly as it would appear to the end user of your application. Later, the application code could create a functional dialog box
Dialog box
In a graphical user interface of computers, a dialog box is a type of window used to enable reciprocal communication or "dialog" between a computer and its user. It may communicate information to the user, prompt the user for a response, or both...
using the stored resource data which would match the appearance you laid out in ResEdit. While hardly a revolutionary concept today, when ResEdit first appeared in the mid-1980s, this was a considerable innovation. ResEdit included standard editors for window templates ('WIND'), menus ('MENU'), dialog boxes, controls ('CNTL'), color palettes ('clut' and 'pltt'), icons ('ICON', 'cicn', 'ICN#'), and various other standard types.
One of ResEdit's most powerful features (which first appeared with ResEdit version 2.0) was the ability to define arbitrary data structures as resources using a simple template building feature. Here, the programmer simply added elemental data types to a list to define a template (itself stored as a resource of type 'TMPL'). This template allowed ResEdit to build a GUI editor on the fly that would allow entry of data and package it into the structure defined in the template. It was then a simple matter for a programmer to define a matching data structure in a chosen programming language, such as C, load the resource in a standard manner and access the data as the defined C type. ResEdit included a number of predefined templates for many standard OS resources that did not require a graphical editor.
ResEdit was never upgraded to run natively on Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
(or, indeed, on PowerPC
PowerPC
PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...
-based Macintoshes), as Apple now discourages the use of resource forks in new Mac OS X applications, preferring the more portable NeXT
NeXT
Next, Inc. was an American computer company headquartered in Redwood City, California, that developed and manufactured a series of computer workstations intended for the higher education and business markets...
-derived application bundles. A long-standing third-party commercial alternative named Resorcerer
Resorcerer
Resorcerer is a resource editing program by Mathemaesthetics for Mac OS. The most recent release was two versions in 2001, Resorcerer 2.4.1 , and Resorcerer 2.4.1 . Developed more recently than the traditional ResEdit, it supports far more resource types. Although no longer updated, it is still...
remains available, and more recently there have been a number of attempts to build open-source Mac OS X-native resource editors, including one called ResKnife
ResKnife
ResKnife is an open source resource editor for the Apple Macintosh platform. It supports reading and writing resource maps to any fork and has basic template-based and hexadecimal editing functionality...
. ResEdit will run in Mac OS X's Classic compatibility mode
Classic (Mac OS X)
Classic, or Classic Environment, was a hardware and software abstraction layer in Mac OS X that allowed applications compatible with Mac OS 9 to run on the Mac OS X operating system...
, but Classic is neither available on Intel Macintosh computers, nor in Mac OS X v10.5
Mac OS X v10.5
Mac OS X Leopard is the sixth major release of Mac OS X, Apple's desktop and server operating system for Macintosh computers. Leopard was released on 26 October 2007 as the successor of Tiger , and is available in two variants: a desktop version suitable for personal computers, and a...
or later. However, an Intel Mac can run ResEdit via an emulator such as SheepShaver
SheepShaver
SheepShaver is an open source PowerPC Apple Macintosh emulator originally designed for BeOS and Linux. The name is a play on ShapeShifter, a Macintosh II emulator for AmigaOS , which is in turn not to be confused with a third-party preference pane for Mac OS X with the same name...
or Basilisk II
Basilisk II
Basilisk II is an open source software emulator which emulates the 680x0-based Apple Macintosh computer on a variety of operating systems, including BeOS, Linux, AmigaOS, Windows NT, Mac OS X and even on the Sony PSP....
.
The last official version of ResEdit is 2.1.3, released in August 1994. Unofficial 'hacks' released as ResEdit 2.1.4 and up exist that add features such as the ability to edit data forks, but these are entirely unsupported by Apple.http://www.ambrosiasw.com/forums/lofiversion/index.php/t16211.html
See also
- Creator codeCreator codeA creator code is a mechanism introduced in pre-Mac OS X versions of the Macintosh operating system to link a data file to the application program which created it, in a manner similar to file extensions in other operating systems. Codes are four-byte OSTypes. For example, the creator code of the...
- Interface BuilderInterface BuilderInterface Builder is a software development application for Apple's Mac OS X operating system. It is part of Xcode , the Apple Developer Connection developer's toolset. Interface Builder allows Cocoa and Carbon developers to create interfaces for applications using a graphical user...
- Macintosh Programmer's WorkshopMacintosh Programmer's WorkshopMacintosh Programmer's Workshop or MPW, is a software development environment for the Classic Mac OS, written by Apple Computer. For Macintosh developers, it was one of the primary tools for building applications for System 7.x and Mac OS 8.x and 9.x. Initially, MPW was sold as a commercial product...
- Resource forkResource forkThe resource fork is a construct of the Mac OS operating system used to store structured data in a file, alongside unstructured data stored within the data fork. A resource fork stores information in a specific form, such as icons, the shapes of windows, definitions of menus and their contents, and...
- Type codeType codeA type code is the only mechanism used in pre-Mac OS X versions of the Macintosh operating system to denote a file's format, in a manner similar to file extensions in other operating systems. Codes are four-byte OSTypes...
External links
- ResEdit Reference (PDFPortable Document FormatPortable Document Format is an open standard for document exchange. This file format, created by Adobe Systems in 1993, is used for representing documents in a manner independent of application software, hardware, and operating systems....
) - Download ResEdit 2.1.3 from apple.com (MacBinaryMacBinaryDue to the metadata-rich nature of the Macintosh Hierarchical File System, transferring Mac OS files to platforms that do not support HFS can be problematic. MacBinary was developed as a means of preserving this structure without sacrificing portability. It combines the data and resource forks...
) - [ftp://ftp.apple.com/developer/Tool_Chest/Developer_Utilities/ResEdit_2.1.3/ResEdit_2.1.3.sea.hqx Download ResEdit 2.1.3 from ftp.apple.com] (BinHexBinHexBinHex, short for "binary-to-hexadecimal", is a binary-to-text encoding system that was used on the Mac OS for sending binary files through e-mail. It is similar to Uuencode, but combined both "forks" of the Mac file system together, along with extended file information...
) ([ftp://ftp.apple.com/developer/Tool_Chest/Developer_Utilities/ResEdit_2.1.3/ResEdit_2.1.3.txt README file]) - [ftp://ftp.apple.com/developer/Tool_Chest/Developer_Utilities/ResEdit_2.1.3/ResEdit_Extensions/CODE_Editor_for_ResEdit_2.1.sit.hqx CODE Editor for ResEdit from ftp.apple.com](BinHexed StuffitStuffItStuffIt is a family of computer software utilities for archiving and compressing files on the Macintosh and Microsoft Windows platforms: it was originally produced for the Macintosh. An old version for Linux and Sun Solaris 2.7 or later is also available...
file) ([ftp://ftp.apple.com/developer/Tool_Chest/Developer_Utilities/ResEdit_2.1.3/ResEdit_Extensions/CODE_Editor_for_ResEdit_2.1.txt README file])