The vision behind easyGUI

In the 1990’es development of easyGUI in its earliest form was started out of sheer necessity. No suitable product was found on the market, and display were (and are) delivered mostly as pure empty canvas solutions, so it is up to the software developer to find suitable tools for the task at hand: Put something on the display, in an easy, fast and efficient way. Thus started easyGUI, in the beginning as an internal tool in various companies.

How it all began

The history of easyGUI dates back to the early 1990’es. The precursor was a system created for handling display layouts in DOS applications. This was used as the basic foundation for a later, primitive system for handling display messages on alpha-numeric displays in embedded systems.

The next generation progressed to graphical displays, and contained some of the fundamental ideas of the current easyGUI system, that is fonts independent of target system display hardware, pure graphical approach, and organization of display elements into “structures”, which just as today could be partial user interface elements, or complete, complex constructs ready for display. This version was written for the Windows operating system, and worked on any monochrome embedded display with graphical capabilities. It was developed in the 1996-1999 timeframe.

The third generation, developed in the years 2000-2003, greatly expanded on the functionality, and added among other things language support, incorporated as an integral element of the system. The system was however still a proprietary system, used inside a single organization.

The easyGUI product

The current, fourth generation is the easyGUI product, offered as a commercial product starting in March 2004. Initially it was basically the third generation modified for commercial use, with license system, a proper user manual, some user interface changes, etc.

The first major addition to the system was color support (and gray-scale, which to easyGUI is the same as color). This might at first sight look like an easy addition, but on closer inspection it is more complicated, with gray-scale, palette-based and direct RGB modes used by various display controller vendors, and an seemingly infinite ability of these vendors to create different ways of encoding the color information. So, a rather universal system for color handling had to be created.

Next up came Unicode support, simply a necessity for supporting some Asian languages using large number of characters, like e.g. Chinese, Japanese and Korean. But Unicode also opens up for a lot of other languages, handled only poorly if squeezed into the traditional 8 bit character encoding space, like e.g. Farsi (Arab), Greek, Thai, Hebrew, etc. Again, like for the color functionality, things turned out to be quite complex, as right-to-left writing ability, handling of fonts with tens of thousands of characters, and other things had to be implemented.

A multitude of smaller additions have continuously been added to the system during the years, many on the basis of specific customer requests.

This all goes to show that easyGUI is a mature system, but also a system that has kept pace with the present day embedded world, both technically and functionally. It is our intention to continue this development, and keep improving on the advanced level of functionality in the easyGUI system.