Patent ID: 8432562

Claim:
An apparatus, comprising: a computer readable storage medium storing programs encoding first application programs and a first platform that manages the first application programs, the first application programs including a copy application program for copying; a printer application program for a printer; a scanner application program for a scanner; a facsimile application program for a facsimile machine; and a plurality of second application programs, said plurality of second application programs including an operation screen display application program managed by a second platform to display operation screens, said operation screen display application program being structurally independent of the copy, printer, scanner, and facsimile application programs, an application to occupy a screen being switched among the first application programs by an additional application program, said second platform including a managing part that determines whether a switching operation is performed based on a predetermined condition, the managing part is configured to determine whether the screen is not switched when either a rule violation or an error has occurred based on the predetermined condition, and user application programs developed by a first language and including application programs developed under said second platform, the user application programs being independent of the copy, printer, scanner, and facsimile application programs, said operation screen display application program operating on the user application programs as operation objects, and said second platform, which is for mediating the plurality of second application programs and software described in a second language different from the first language in which the plurality of second application programs are written, said second platform and one of said second application programs executed as one process on a same process, the operation screen display application program, the user application programs, and said second platform executed on an individual thread unit basis as a thread on the process, said operation screens being configured to operate the first application programs managed by said first platform.