Specification language for defining user interface panels...

Computer graphics processing and selective visual display system – Display driving control circuitry – Controlling the condition of display elements

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C345S215000, C345S215000, C345S215000

Reexamination Certificate

active

06342907

ABSTRACT:

REFERENCE TO MICROFICHE APPENDIX
A single microfiche appendix that contains a total of 43 frames is included with this patent application.
BACKGROUND OF THE INVENTION
1. Technical Field
This invention generally relates to computer system displays and more specifically relates to a mechanism and method for defining and displaying user interface panels that are platform-independent.
2. Background Art
The development of the EDVAC computer system of 1948 is often cited as the beginning of the computer era. Since that time, computer systems have evolved into extremely sophisticated devices that may be found in many different settings. Computer systems typically include a combination of hardware (e.g., semiconductors, circuit boards, etc.) and software (e.g., computer programs). As advances in semiconductor processing and computer architecture push the performance of the computer hardware higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful than just a few years ago.
Early computer systems used command-based operating systems and software applications. These command-based systems provided a user interface that required the user to memorize a relatively large number of commands in order to perform meaningful work. The user interfaces for these command-driven computer programs required a relatively high level of skill to operate, and were not considered to be “user-friendly.” With the introduction of the IBM personal computer (PC), computers became more widely available, both in the workplace and in homes, and the computer industry soon recognized the need to provide more user-friendly interfaces to computer programs. As a result, many different operating systems were introduced that provided a graphical user interface (GUI), including IBM's OS/2, Microsoft Windows, and the Apple McIntosh. Software applications with graphical user interfaces soon followed, and the vast majority of computer programs running on personal computers today provides a user-friendly graphical user interface.
Most graphical user interfaces provide many common features. The basic display area in a graphical user interface is known as a window or panel. For the discussion in this patent application, we refer to a basic display area as a panel, recognizing that other terms are known in the art to describe display areas. A single panel may fill the entire display, or the display can be split into a number of different panels. A panel may include a number of different “components”, which are different areas that display text, drop-down lists, text entry fields, etc. A pointing device such as a trackball or a mouse is generally used to select various commands and options on a panel by clicking on the appropriate fields or buttons within the panel. In addition, a keyboard is commonly used to enter text information into a panel.
Various methods have been developed for generating panels. For example, an editor provided with Microsoft Visual C++ provides a graphical tool that allows a programmer to define a panel that may be displayed using Microsoft Windows by selecting and dropping desired components onto the panel. When the programmer is finished, the panel is defined as a Windows resource script (.rc file). Resource script is a special programming language that allows a user to define the appearance and function of a panel. Of course, when a programmer uses a graphical tool to generate a panel, the tool translates the components the programmer sees on the panel into a corresponding resource script without the programmer directly writing code in resource script format. An example of a panel defined in Windows resource script is shown in
FIG. 3
, with the corresponding resource script shown in
FIGS. 4A and 4B
.
While generating panels using Visual C++ is relatively straightforward, the resulting panels in resource script format can only be displayed on a Microsoft Windows platform. Today, there is a great push to provide software applications that are “platform-independent”, which means that a software application may run on computer systems that have different operating systems, such as OS/2, Windows, AIX, AS/400, etc. The Java programming language developed by Sun Microsystems provides a programming language for platform-independent software applications.
The Java programming language currently has some graphical tools for generating panels in Java, such as Symantec Visual Cafe. These graphical tools generate Java code, and define sizes and positions of user interface components in absolute pixel coordinates. However, the preferred method of generating user interface panels in Java uses Java-defined classes known as layout managers. Java allows a programmer to select an appropriate layout manager class depending on the type of panel that the programmer wants to display and then add appropriate components to the panel. The layout manager will then work out how the components are displayed in the panel. It is often necessary to use different layout managers for different sections of a panel, imposing upon the programmer the burden and complexity of dealing with multiple layout managers.
Typically, the functional components are distinguished from mere text or other display information that is simply displayed to a user. The text or other display information is typically stored in a resource bundle separate from the Java functional components. Thus, a panel with English text will have a corresponding English resource bundle, while the same panel could be displayed in German using a German resource bundle instead of the English resource bundle. An example of a user interface panel that was generated in Java and that uses an English resource bundle is shown in FIG.
5
.
In Java, the programmer has no direct control of location of components within the panel. The logic behind the layout managers is to allow an application to be ported to a different language quickly and easily. Thus, if the text on a button is twice as long in German than it is in English, the layout manager has the intelligence to stretch the button to accommodate the longer German label (stored in the German resource bundle) on the button. The panel of
FIG. 6
is a German version of the panel of FIG.
5
. However, defining user interface panels in Java has significant drawbacks. The programmer has no precise control over the appearance of components on a panel, but must instead rely on a Java layout manager to determine the size and position of components on the panel. In addition, using the layout managers in Java to generate a user interface panel requires that the programmer is skilled in the Java programming language. Thus, the generation and modification of user interface panels must be performed by a skilled Java programmer. This is in stark contrast to the Windows environment, where a person can design a platform-specific user interface panel using a graphical editor, having no specialized programming knowledge. Even using the graphical editors for Java panels, such as Symantec Visual Cafe, the result is Java code that defines sizes and positions of user interface components in absolute pixel coordinates, and that bypass the Java layout managers. This makes it difficult to port the panels to a different language, because translators must create new versions of the generated Java code for each language, and the application is obliged to provide run-time code that figures out which version of the panel should be invoked based on the language/country settings currently in effect. Without a mechanism that gives the programmer precise control over the location of components on a platform-independent panel without requiring specialized programming skills, the generation of platform-independent user interface panels will continue to be an impediment to the generation of platform-independent software.
DISCLOSURE OF INVENTION
According to the preferred embodiments, a specification language allows a us

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Specification language for defining user interface panels... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Specification language for defining user interface panels..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Specification language for defining user interface panels... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2839762

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.