The history of PopChar (1987 - 2012)
This page describes the history of PopChar (in fact the first 25 years) - written by Günther Blaschek.
Learn more about the origin and the milestones in the development of PopChar.
It all started back in 1987, when I tried to find a few special characters in the Symbol font. Apple's Key Caps utility was not very helpful because I had to try all sorts of keyboard combinations to see which characters were available.
Being a software developer, I decided to write a simple utility that allowed me to select characters in a more convenient way. I wrote this utility in Turbo Pascal on a Mac Plus with 2.5 MB of memory.
Since memory was very limited in those days, it was not possible to run more than one application at the same time.
"Desk accessories" were an exception, as they were accessible from the Apple menu and could open a window on top of the current application. I therefore created a desk accessory called "Character Map" which displayed all symbols in a given font and let me copy and paste them into a text document.
Character Map was simple and intuitive to use, but I felt that it could be improved. It should directly insert the selected characters in the current document and it should be available permanently.
The solution was to turn it into a system extension (called an "INIT" at that time). The first version was a quick hack, put together in an afternoon, using code from Character Map. When I clicked in a corner of the screen, the CHARacters POPped up, so I called the thing "PopChar".
Since then, I have been asked multiple times how to pronounce PopChar. I live and work in Austria, so I used to pronounce it like "pop car" (we pronounce the German word "Charakter" with a "K"). Most English-speaking people pronounce the second syllable like "charcoal" or "charming". Today, I freely mix these two pronunciations, depending on who I talk to.
In the beginning, it was just "PopChar". The word "Lite" was added with the introduction of PopChar Pro to make it clear which version was more powerful.
In fact, the first version of PopChar was extremely simple. There was no visual clue where to click; clicking the black rounded area in the top-left corner of the screen activated PopChar; the characters popped up, pointing at a character and releasing the mouse button inserted the character.
Nevertheless, PopChar worked remarkably well for me, so I decided to share it with other Mac users and made it available as freeware. The responses from the Mac community were overwhelming. Many users liked the idea and suggested further improvements.
One significant improvement was the conversion of PopChar into a control panel, so users had a few options to control the look and feel of PopChar.
Here are two snapshots of an early version of PopChar, running on a Mac Plus:
Development of PopChar Lite
Introduction of color monitors
Of course, continuous development and improvement was necessary in order to keep pace with newer Mac models and system software.
Among these changes was the introduction of color monitors. The images below show what the PopChar icon, the small "P" in the corner and the PopChar window looked like at that time.
Change of development environment
The development environment had also changed: When Turbo Pascal was no longer supported, I switched to Think Pascal.
The convenience of PopChar was achieved by means of three essential techniques:
- PopChar guessed the font that was in use in the current application. This was relatively simple in earlier Mac OS versions because PopChar could access data structures within the current application, look for the Font menu and scan the menu for an item with a check mark. This technique worked well for most applications, since most applications had a Font menu.
- PopChar scanned the current font for available characters, so the character table contained only those characters that could really be used in the font.
- PopChar simulated keystrokes to generate the selected character, as if the user had pressed the corresponding keyboard combination
These techniques worked pretty well in most cases, in particular with applications that conformed to Apple’s guidelines.
Unfortunately, some applications and system extensions (notably Microsoft Word and Adobe Type Reunion) caused nasty problems. New font formats such as the introduction of TrueType fonts also made it more difficult to find the available characters. It sometimes took weeks to find a suitable workaround, but new applications, new system software versions and new fonts kept me busy for several years.
PopChar was still freeware. I asked users who liked PopChar to send me postcards and stamps. I cannot tell how many postcards and stamps I received over the years.
In 1995, I found myself spending too much of my spare time with fixes and improvements of PopChar, so I felt it was time to earn some money for these efforts.
I switched to another programming environment (CodeWarrior) and redeveloped PopChar from scratch. Eight years of experience helped me to avoid the previous problems and to add new features that I (and other users) had found useful. It took more than a year to finish the new product, PopChar Pro.
The Pro version came with adjustable font sizes, manual font selection (for those applications where the automatic detection of the current font did not work), a floating window, a layout editor, and it worked in multiple languages.
In late 1996, PopChar Pro was released. My former colleague, Christoph Reichenberger, who had already gained experience in software distribution with his product VOODOO, took over the distribution of PopChar Pro.
PopChar Pro was a rather complex piece of software that consisted of multiple independent parts. The core of PopChar Pro was an "MDEF" (a menu definition function) that created a custom menu, filled with the character table. This function cooperated with a bunch of other units such as the control panel, the layout editor and a separate application that managed the floating window. All these components were "fat binaries" that ran natively on both Motorola and PowerPC processors.
PopChar Pro even came with a separate installer. The reason for this was that diskettes with a capacity of 1.4 MB were still popular, but PopChar Pro including the documentation required more space. So I developed a compressor and expander that made it possible to fit the entire package on a single diskette.
In 2001, Apple introduced Mac OS X. This was a major change that made most of the technologies used in PopChar Pro useless. PopChar Pro relied heavily on the availability of system-wide patches that were no longer possible in Mac OS X. In addition to this, Mac OS X came with strict memory protection, so PopChar could no longer access data structures in the current application. It was therefore time for another big change.
PopChar X was implemented as a separate application that waited in the background most of the time. Clicking the small "P" in the corner of the screen opened a floating window that basically offered the same features as the previous version.
The most important difference was that PopChar X could not detect the font being used in the current application, so the new version came with a font menu for selecting the desired font.
PopChar X was still developed with CodeWarrior, but now in C++, and using the Carbon framework as the technological basis.
In the meanwhile, Christoph Reichenberger had founded his own company. In May 2001, the Ergonis Software web site went online with the first PopChar version for Mac OS X.
Many things have changed since the introduction of PopChar X. One of the most important new features was support of Unicode in 2002 with PopChar X 1.2.
For fifteen years, PopChar was limited to the relatively small set of MacRoman characters. Mac OS X used Unicode internally, and more and more newer applications supported Unicode as well.
Nevertheless, PopChar was ahead of time because some of the "big players" could not work with Unicode characters yet. Microsoft added Unicode support in MS Office 2004; Adobe added Unicode support to the CS2 version of InDesign in 2005, and QuarkXpress started supporting Unicode with version 7 in 2006. When these products were released, PopChar X was ready to work with them.
Redesign of PopChar X
The next major challenge came when Apple announced the transition to Intel processors. This enforced another change of the technological foundation.
Again, PopChar was redesigned and re-implemented from ground up, this time in Objective-C with Xcode. The result was PopChar 3.
Since PopChar 3 was now based on Cocoa, it could use a bunch of new technologies and provide a modern user interface. But, most importantly, PopChar 3 was released in 2006 as a "Universal Binary" that runs natively on both PowerPC and Intel Macs.
Last not least, another important thing happened in 2004, when Johannes Sametinger joined the Ergonis team to develop the long-awaited Windows version of PopChar.
Much of the experience and technological know-how that we already had acquired with the Mac version could be utilized in the design and implementation of PopChar Win.
Towards a versatile font tool
In 2012, I decided to make PopChar even more versatile by adding features that allow designers to view and inspect fonts. New "Font Preview" and "Sample Text" views now show realistic text fragments formatted with a selected font. These new views give an impression of a font "in action". Even more, these views can be printed to create beautiful font sheets.
Adding new features is always a challenge. It is easy to simply add new features on top of existing ones, but this usually creates bloated programs with complex user interfaces. To keep PopChar simple and easy to use, we decided to cut out dead wood. Now it was time to get rid of ASCII/MacRoman mode. On Classic Mac OS and early versions of Mac OS X, many applications did not yet support Unicode, so PopChar's support for ASCII and the MacRoman encoding was essential. But now, all newer applications support Unicode, so PopChar no longer needed an explicit ASCII mode. Technology has changed, and so has PopChar.
PopChar has seen quite a few changes in technology in 25 years:
- Mac models have changed from the Mac Plus to the Mac Pro.
- Displays have advanced from the original 512x342 built-in screen in black-and-white to MacBook Pro with retina display.
- PopChar has been running on all types of processors that have been used in Macs: starting with the first 68000 processors, up to the Motorola 68030, then various PowerPC models, and now Macs with multiple Intel processors in 64-bit technology.
- Versions of PopChar have been running on all MacOS versions from System 4.2 to Mac OS X 10.8.
- PopChar has seen various word processors come and go. WriteNow and MacWrite no longer exist, ClarisWorks (aka AppleWorks) has been discontinued, and FrameMaker is no longer available on the Mac. InDesign and Pages appeared on the market. Only Microsoft Word and QuarkXpress already existed in 1987 and still exist today.
- The implementation language has changed from Turbo Pascal to Object Pascal, then C++, and finally Objective-C.
- Four different development environments were involved: Turbo Pascal, Think Pascal, CodeWarrior and now Xcode.
- Font technology has changed from simple bitmap fonts to TrueType and PostScript fonts and now OpenType.
- To survive all these changes, PopChar has been redesigned and re-implemented from ground up again and again. These efforts were necessary to ensure steady evolution of PopChar and continuous support for our long-time customers.
The past and the future
We have received many suggestions and much praise for PopChar in the past. All this feedback helped us to enhance PopChar to make it what it is today: A simple yet powerful tool used by thousands of people for a variety of tasks, from "typing" accented letters in foreign languages to insertion of special characters and technical symbols in scientific documents.
Although many users keep telling us that PopChar is simply perfect, we nevertheless maintain a long list of features that will further enhance PopChar in the years to come. With support from our loyal customers, we are prepared for the next 25 years.
So stay tuned ... :-)