KR20210156523A - 사용자 인터페이스 정의 파일을 이용한 사용자 인터페이스 표시 - Google Patents

사용자 인터페이스 정의 파일을 이용한 사용자 인터페이스 표시 Download PDF

Info

Publication number
KR20210156523A
KR20210156523A KR1020200074217A KR20200074217A KR20210156523A KR 20210156523 A KR20210156523 A KR 20210156523A KR 1020200074217 A KR1020200074217 A KR 1020200074217A KR 20200074217 A KR20200074217 A KR 20200074217A KR 20210156523 A KR20210156523 A KR 20210156523A
Authority
KR
South Korea
Prior art keywords
user interface
definition file
program
information
programs
Prior art date
Application number
KR1020200074217A
Other languages
English (en)
Inventor
정현인
이상민
김정훈
김아리
Original Assignee
휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. filed Critical 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피.
Priority to KR1020200074217A priority Critical patent/KR20210156523A/ko
Priority to US17/913,227 priority patent/US20230153127A1/en
Priority to PCT/US2020/060826 priority patent/WO2021257110A1/en
Publication of KR20210156523A publication Critical patent/KR20210156523A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1239Restricting the usage of resources, e.g. usage or user levels, credit limit, consumables, special fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

본 개시는, 통신 유닛; 사용자 인터페이스 유닛; 프로세서; 및 상기 프로세서에 의해 실행 가능한 명령어들을 저장하는 메모리를 포함하고, 상기 프로세서는, 상기 명령어들을 실행함으로써, 화상 형성 장치에서 수행되는 작업을 제어할 수 있는 복수의 프로그램을 상기 메모리에 저장하고, 상기 복수의 프로그램에 대응하는 제1 사용자 인터페이스 정의 파일을 상기 메모리에 저장하고, 상기 복수의 프로그램 중 제1 프로그램이 실행되면, 상기 제1 사용자 인터페이스 정의 파일을 호출하고, 상기 제1 사용자 인터페이스 정의 파일에 포함된 상기 제1 프로그램에 대한 제1 정의 정보에 기초하여, 상기 사용자 인터페이스 유닛을 통해, 상기 제1 프로그램의 사용자 인터페이스를 표시하는, 전자 장치가 개시된다.

Description

사용자 인터페이스 정의 파일을 이용한 사용자 인터페이스 표시{DISPLAYING USER INTERFACE USING USER INTERFACE DEFINITION FILE}
전자 장치에서 소정 프로그램을 통해 화상 형성 장치에 대한 인쇄 작업 요청이 수신되면, 전자 장치는 인쇄 작업 시에 사용되는 정보를 설정하는 사용자 인터페이스를 표시할 수 있다. 소정 프로그램을 통해 표시되는 사용자 인터페이스의 레이아웃은 관리자에 의해 업데이트 될 수 있다.
본 개시는, 다음의 자세한 설명과 그에 수반되는 도면들의 결합으로 쉽게 이해될 수 있으며, 참조 번호(reference numerals)들은 구조적 구성요소(structural elements)를 의미한다.
도 1은 관리 장치에서 사용자 인터페이스 정의 파일을 전자 장치로 배포하고, 전자 장치에서 사용자 인터페이스 정의 파일에 기초하여 소정 프로그램의 사용자 인터페이스를 표시하는 동작을 설명하기 위한 일 예의 개념도이다.
도 2a는 사용자 인터페이스 정의 파일에 기초하여 프로그램에 대한 사용자 인터페이스를 표시하는 전자 장치의 동작 방법을 나타낸 일 예의 흐름도이다.
도 2b는 사용자 인터페이스 정의 파일을 획득하여 저장하는 전자 장치의 동작 방법을 나타낸 일 예의 흐름도이다.
도 3은 화상 형성 장치에서 수행되는 작업을 제어할 수 있는 복수의 프로그램에서 메모리에 저장된 사용자 인터페이스 정의 파일을 호출하고, 사용자 인터페이스 정의 파일에 포함된 정의 정보에 기초하여 프로그램의 사용자 인터페이스를 표시하는 과정을 설명하기 위한 일 예의 도면이다.
도 4a는 사용자 인터페이스의 레이아웃 정보가 포함된 사용자 인터페이스 정의 파일을 설명하기 위한 일 예의 도면이다.
도 4b는 프로그램 별로 사용자 인터페이스의 레이아웃 정보가 포함된 사용자 인터페이스 정의 파일을 설명하기 위한 일 예의 도면이다.
도 5a는 사용자 인터페이스 정의 파일이 적용되기 전의 사용자 인터페이스를 도시한 일 예의 도면이다.
도 5b는 사용자 인터페이스 정의 파일이 적용된 후의 사용자 인터페이스를 도시한 일 예의 도면이다.
도 6은 프로그램 별로 정의된 사용자 인터페이스의 정의 정보를 포함하는, 사용자 인터페이스 정의 파일이 적용된 후의 사용자 인터페이스를 도시한 일 예의 도면이다.
도 7은 전자 장치의 일 예의 구성을 도시한 블록도이다.
도 8은 사용자 인터페이스 정의 파일을 생성하고, 사용자 인터페이스 정의 파일을 배포하는 관리 장치의 동작 방법을 나타낸 일 예의 흐름도이다.
도 9는 사용자 인터페이스의 레이아웃 정보를 입력 받는 화면을 설명하기 위한 일 예의 도면이다.
도 10은 관리 장치의 일 예의 구성을 도시한 블록도이다.
도 11은 컴퓨터 판독 가능 저장매체에 저장된 명령어들을 설명하기 위한 일 예의 도면이다.
도 12는 컴퓨터 판독 가능 저장매체에 저장된 명령어들을 설명하기 위한 일 다른 예의 도면이다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
"화상 형성 장치"란 프린터(printer), 스캐너(scanner), 팩스기(fax machine), 복합기(multi-function printer, MFP) 또는 디스플레이 장치 등과 같이 화상 형성 작업을 수행할 수 있는 모든 종류의 장치일 수 있다. 또한, 화상 형성 장치는 2D 화상 형성 장치, 또는 3D 화상 형성 장치일 수 있다. "화상 형성 장치에서 수행되는 작업"은 인쇄, 복사, 스캔, 팩스, 저장, 전송, 코팅 등과 관련된 작업일 수 있다.
"관리 장치"란 화상 형성 장치를 관리하는 장치일 수 있다. 예를 들면, 관리 장치는 복수의 화상 형성 장치들로 화상 형성 장치를 관리 또는 제어하는 정보를 전송하고, 복수의 화상 형성 장치들로부터 화상 형성 장치의 처리 정보 또는 상태 정보를 수신할 수 있다. 또한, 관리 장치는 화상 형성 장치를 사용하는 사용자의 전자 장치로 화상 형성 장치의 관리 정보를 전송할 수 있다. 예를 들어, 관리 장치는 서버, 전자 장치는 호스트 PC일 수 있다.
전자 장치에서 실행되는 프로그램들은 화상 형성 장치를 제어하는 데에 사용되는 사용자 인터페이스를 지원할 수 있다. 예를 들면, 프로그램들은, 윈도우즈 스토어 앱(Windows Store App), 데스크 탑 앱(Desktop App)일 수 있다. 또한, 윈도우 스토어 앱은, UWP 앱(Universal Windows Platform)으로 지칭될 수도 있다. UWP 앱은, Windows 8 이상의 OS에서 사용할 수 있는 앱을 의미할 수 있다. 또한, 데스크 탑 앱은, 윈도폼즈(Windows Forms), 윈도 프리젠테이션 파운데이션(WPF: Windows Presentation Foundation)를 이용하여 개발된 앱일 수 있다. 여기서, 윈도우즈 스토어 앱의 사용자 인터페이스와 데스크 탑 앱의 사용자 인터페이스 각각은, 개별적으로 관리되고 있다.
따라서, 사용자 인터페이스를 구성하는 적어도 하나의 컴포넌트에 변경이 있는 경우, 관리자는 프로그램들 별로 사용자 인터페이스의 설정 파일을 사용자에게 배포하고, 사용자는 프로그램들 별로 업데이트 된 버전의 프로그램을 설치함으로써, 사용자 인터페이스의 컴포넌트를 변경할 수 있었다. 이 경우, 업데이트 된 버전의 프로그램이 배포될 때까지 기다려야 하고, 프로그램들 별로 설치하는 번거로움이 있었다. 예를 들어, 컴포넌트는, 전자 장치 또는 관리 장치에서 표시되는 사용자 인터페이스 상에 표시된 객체일 수 있다. 예를 들면, 컴포넌트는, 화상 형성 장치의 작업을 제어하는 명령에 대응하는 적어도 하나의 항목 정보를 나타낼 수 있다. 구체적인 예를 들면, 인쇄 작업과 관련하여, 컴포넌트는, 페이지 크기, 출력 크기, 페이지 레이아웃, 인쇄 매수, 양면 인쇄 여부 등의 항목 정보를 나타내는 객체일 수 있다. 예를 들면, 컴포넌트는, 사용자 인터페이스 상에서 고정된 객체로 제공될 수 있고, 사용자의 입력에 따라 이동 가능한 객체로 제공될 수 있다. 또한, 컴포넌트는, 사용자 인터페이스 상에서 사용자의 입력을 받는 형태로 제공될 수 있다. 예를 들어, 컴포넌트는 체크박스, 라디오 버튼, 드랍다운 리스트, 리스트 박스, 버튼, 토글 버튼, 문자 입력 필드 등의 입력 컨트롤, 사이트 이동 경로 (breadcrumb), 슬라이드, 검색 필드, 페이지 매김 (pagination), 태그, 아이콘 등의 이동 컴포넌트, 툴입, 아이콘, 진행 막대 (progress bar), 알림, 메시지 박스, 모달 윈도우 등의 정보 제공 컴포넌트, 컨테이너 등의 시각적 사용자 인터페이스 요소로 표시될 수 있다.
또한, UWP 앱은 Windows 8 이상의 OS에서 동작되기 때문에, UWP 앱의 사용자 인터페이스의 설정 파일은, WPF를 사용한 Windows 7 또는 이전의 OS에서 사용될 수 없다. 따라서, 관리자는 Windows 8 이상의 OS에서 동작되는 앱의 사용자 인터페이스의 설정 파일 뿐만 아니라, Windows 7 또는 이전의 OS에서 동작되는 앱의 사용자 인터페이스의 설정 파일도 별도로 개발해야 한다.
사용자 인터페이스의 레이아웃의 변경으로 인해 프로그램 별로 사용자 인터페이스의 설정 파일을 개발 또는 설치해야 하는 번거로움을 해소하기 위해, 관리 장치는 복수의 프로그램들에서 공통적으로 적용 가능한 사용자 인터페이스 정의 파일을 생성하여 사용자의 전자 장치로 배포할 수 있고, 사용자의 전자 장치는 사용자 인터페이스 정의 파일을 저장하고, 각 프로그램에 사용자 인터페이스 정의 파일을 적용함으로써, 용이하게 사용자 인터페이스의 레이아웃을 변경할 수 있다. 즉, 전자 장치는 하나의 사용자 인터페이스 정의 파일을 이용하여, 복수의 프로그램들의 사용자 인터페이스의 레이아웃 또는 컴포넌트를 동시에 변경하거나 동기화할 수 있다.
도 1은 관리 장치에서 사용자 인터페이스 정의 파일을 전자 장치로 배포하고, 전자 장치에서 사용자 인터페이스 정의 파일에 기초하여 소정 프로그램의 사용자 인터페이스를 표시하는 동작을 설명하기 위한 일 예의 개념도이다.
도 1을 참고하면, 관리 장치(20)는, 전자 장치들(10-1, 10-2, 10-3, 10-4)에서 화상 형성 장치의 작업을 제어하는 데에 사용되는 프로그램의 사용자 인터페이스의 레이아웃 정보를 설정하는 입력을 수신할 수 있다. 예를 들면, 도 1의 이미지(101)를 참고하면, 관리 장치(20)는 사용자 인터페이스를 구성하는 컴포넌트에 대한 컴포넌트 정보를 설정할 수 있는 화면을 표시할 수 있다. 관리 장치(20)는 화면을 통해 컴포넌트 정보를 입력 받을 수 있다.
관리 장치(20)는 사용자 인터페이스의 레이아웃 정보를 설정하는 입력이 수신되면, 입력된 사용자 인터페이스의 레이아웃 정보에 기초하여, 복수의 프로그램에서 참조 가능한 사용자 인터페이스 정의 파일을 생성할 수 있다. 예를 들면, 사용자 인터페이스 정의 파일은, 화상 형성 장치에서 수행되는 작업을 제어하는 프로그램에 대한 사용자 인터페이스를 생성하는 데에 사용되는 파일일 수 있다. 예를 들면, 사용자 인터페이스 정의 파일은, 화상 형성 장치에서 수행되는 작업을 제어하는 프로그램에서 제공되는 사용자 인터페이스의 레이아웃 정보를 포함할 수 있다. 또한, 사용자 인터페이스 정의 파일은, 사용자 인터페이스를 구성하는 컴포넌트들, 컴포넌트들의 설정 값, 컴포넌트들의 표시 위치, 컴포넌트들의 표시 순서, 컴포넌트들의 표시 여부 중 적어도 하나의 정보를 포함할 수 있다.
예를 들면, 사용자 인터페이스 정의 파일은, 도 1의 이미지(102)에 도시된 바와 같이, XML 파일일 수 있다. 관리 장치(20)는 사용자 인터페이스 정의 파일을 화상 형성 장치를 사용하는 사용자의 전자 장치들(10-1, 10-2, 10-3, 10-4)로 배포할 수 있다.
예를 들면, 전자 장치(10-1)는 관리 장치(20)로부터 사용자 인터페이스 정의 파일을 수신할 수 있다. 전자 장치(10-1)는 사용자 인터페이스 정의 파일을 전자 장치(10-1)의 레지스트리에서 지정된 위치에 저장할 수 있다. 전자 장치(10-1)에서 화상 형성 장치의 작업을 제어하는 제1 프로그램 또는 제2 프로그램이 실행되면, 전자 장치(10-1)는 사용자 인터페이스 정의 파일을 호출하고, 사용자 인터페이스 정의 파일에 포함된 프로그램에 대한 정의 정보에 기초하여, 사용자 인터페이스를 표시할 수 있다. 도 1의 이미지(103)에 도시된 바와 같이, 전자 장치(10-1)는 관리 장치(20)로부터 수신된 하나의 사용자 인터페이스 정의 파일을 이용하여, 복수의 프로그램들 각각에 대한 사용자 인터페이스의 레이아웃을 변경할 수 있다.
도 2a는 사용자 인터페이스 정의 파일에 기초하여 프로그램에 대한 사용자 인터페이스를 표시하는 전자 장치의 동작 방법을 나타낸 일 예의 흐름도이다.
도 2a를 참고하면, 전자 장치(10)의 동작 210에서, 전자 장치(10)는 화상 형성 장치에서 수행되는 작업을 제어할 수 있는 복수의 프로그램을 저장할 수 있다. 예를 들면, 복수의 프로그램들에는, 윈도우 7 이전부터 개발되었던 데스크톱 앱 및 윈도우 8부터 개발되었던 스토어 앱이 포함될 수 있다. 또한, 윈도우 10에는, 데스크톱 앱과 스토어 앱이 포함될 수 있다. 예를 들면, 복수의 프로그램에서는, 화상 형성 장치에서 수행되는 작업과 관련된 사용자 인터페이스가 제공될 수 있다. 예를 들면, 사용자가 각 프로그램에서 인쇄 작업을 화상 형성 장치로 요청하기 위해서는, 각 프로그램에서 인쇄 작업과 관련된 사용자 인터페이스가 제공될 수 있다.
전자 장치(10)의 동작 220에서, 전자 장치(10)는 복수의 프로그램에 대응하는 제1 사용자 인터페이스 정의 파일을 저장할 수 있다. 예를 들면, 전자 장치(10)는, 복수의 프로그램에서 사용자 인터페이스를 생성하는 데에 참고하는, 제1 사용자 인터페이스 정의 파일을 저장할 수 있다.
예를 들면, 사용자 인터페이스는, 화상 형성 장치와 사용자 간에 소정 정보를 주고 받기 위해 제공되는 인터페이스일 수 있다. 사용자는, 사용자 인터페이스를 통해, 화상 형성 장치의 동작을 제어하는 명령을 입력하거나, 화상 형성 장치에서 수행되는 작업과 관련된 정보를 입력할 수 있다. 예를 들면, 사용자 인터페이스는, 전자 장치(10)에서 프로그램이 실행되면, 프로그램 내에서 제공되는 소정의 화면, 입력창 또는 팝업창일 수 있다.
예를 들면, 제1 사용자 인터페이스 정의 파일은, 화상 형성 장치에서 수행되는 작업을 제어하는 복수의 프로그램의 사용자 인터페이스를 생성하는 데에 사용되는 파일일 수 있다. 복수의 프로그램은, 전자 장치(10)에 저장된 제1 사용자 인터페이스 정의 파일을 공통적으로 참고하여, 사용자 인터페이스를 생성 또는 변경할 수 있다.
예를 들면, 제1 사용자 인터페이스 정의 파일은, 복수의 프로그램에서 제공되는 사용자 인터페이스의 레이아웃 정보를 포함할 수 있다. 이 경우, 제1 사용자 인터페이스 정의 파일에는, 복수의 프로그램에 공통적으로 적용 가능한 사용자 인터페이스의 정의 정보가 포함되거나, 복수의 프로그램에 개별적으로 적용 가능한 사용자 인터페이스의 정의 정보가 포함될 수 있다. 또한, 복수의 프로그램은, 프로그램의 특성 정보에 기초하여 소정 타입들로 분류될 수 있다. 제1 사용자 인터페이스 정의 파일에는, 복수의 프로그램이 분류된 타입 별로 적용 가능한 사용자 인터페이스의 정의 정보가 포함될 수 있다.
예를 들면, 제1 사용자 인터페이스 정의 파일은, 제1 사용자 인터페이스를 구성하는 컴포넌트들, 컴포넌트들의 설정 값, 컴포넌트들의 표시 위치, 컴포넌트들의 표시 순서, 컴포넌트들의 표시 여부 중 적어도 하나의 정보를 포함할 수 있다. 예를 들면, 제1 사용자 인터페이스를 구성하는 컴포넌트는, 제1 사용자 인터페이스에 표시된 정보 내에서 하나의 독립된 정보로 특정되는 항목을 의미할 수 있다. 예를 들면, 화상 형성 장치에서 지원하는 기능들에 대한 항목이 적어도 하나의 컴포넌트로 표시될 수 있다. 예를 들어 도 1의 이미지(103)을 참고하면, 컴포넌트는, "Paper Source", "Media Type", "Scale/Resize", "Watermarks", "Special Pages", "Image Shift", "Page Order" 등일 수 있다. 또한, 제1 사용자 인터페이스 정의 파일에는, 복수의 프로그램에서 제공되는 사용자 인터페이스의 레이아웃과 관련된 정책 정보가 포함될 수 있다. 예를 들면, 제1 사용자 인터페이스 정의 파일은, XML(eXtensible Markup Language) 파일일 수 있다.
예를 들면, 제1 사용자 인터페이스 정의 파일은, 서로 다른 플랫폼 또는 서로 다른 사용자 인터페이스의 프레임 워크를 기반으로 하는 프로그램들에 적용될 수 있다. 예를 들면, 제1 사용자 인터페이스 정의 파일은, 서로 다른 플랫폼을 기반으로 하는 프로그램들에도 공통적으로 적용될 수 있다. 예를 들면, 제1 사용자 인터페이스 정의 파일은, 동일한 플랫폼을 사용하더라도, 서로 다른 사용자 인터페이스의 프레임 워크를 기반으로 하는 프로그램들에도 공통적으로 적용될 수 있다.
예를 들면, 플랫폼은, 소정 프로그램을 실행하는 데에 기초가 되는 시스템을 의미할 수 있다. 예를 들면, 플랫폼은, 운용체제, 시스템의 보조 프로그램, 마이크로프로세서, 마이크로 칩 등으로 구성될 수 있다. 예를 들면, 운용체제는 특정 마이크로프로세서의 명령어 세트와 함께 동작될 수 있도록 설계될 수 있다. 예를 들면, 플랫폼은, Windows, 매킨토시 등일 수 있다. 또한, 플랫폼의 종류가 동일하더라도 버전이 다르면, 서로 다른 플랫폼을 의미할 수 있다.
예를 들면, 프레임 워크는, 소프트웨어의 구조적으로 소정 부분을 재사용하고, 응용과 관련된 소정 기능을 선택적으로 구현 가능하도록 지원하는 소프트웨어 플랫폼을 의미할 수 있다. 예를 들면, 사용자 인터페이스의 프레임 워크는, 사용자 인터페이스를 생성하여 표시하는 데에 이용되는 소프트웨어 플랫폼일 수 있다.
예를 들면, 전자 장치(10)는 제1 사용자 인터페이스 정의 파일을 메모리의 레지스터에서 지정된 위치에 저장할 수 있다. 예를 들면, 전자 장치(10)는 전자 장치(10)의 소정 저장 공간에 제1 사용자 인터페이스 정의 파일 내의 정의 정보를 저장할 수 있다. 예를 들면, 소정 저장 공간은, Microsoft Windows 운영체제에서는 프로퍼티 백(Property Bag)일 수 있다. 제1 사용자 인터페이스 정의 파일을 저장하는 과정은 도 3에서 설명한다.
한편, 전자 장치(10)는 화상 형성 장치를 관리하는 관리 장치(20)로부터, 제1 사용자 인터페이스 정의 파일을 수신할 수 있다. 또한, 전자 장치(10)는 제1 사용자 인터페이스의 레이아웃 정보를 수정하는 입력에 기초하여, 제1 사용자 인터페이스 정의 파일을 생성할 수 있다.
전자 장치(10)의 동작 230에서, 전자 장치(10)에서 복수의 프로그램 중 제1 프로그램이 실행되면, 전자 장치(10)는 제1 사용자 인터페이스 정의 파일을 호출할 수 있다. 예를 들면, 전자 장치(10)에서 제1 프로그램이 실행되면, 전자 장치(10)는 제1 프로그램의 사용자 인터페이스를 표시하기 위해, 전자 장치(10)에 저장된 제1 사용자 인터페이스 정의 파일을 호출할 수 있다.
전자 장치(10)의 동작 240에서, 전자 장치(10)는 제1 사용자 인터페이스 정의 파일에 포함된 제1 프로그램에 대한 제1 정의 정보에 기초하여, 제1 프로그램의 사용자 인터페이스를 표시할 수 있다. 예를 들면, 전자 장치(10)는, 제1 사용자 인터페이스 정의 파일에서 제1 프로그램의 사용자 인터페이스를 생성하는 데에 이용되는, 제1 프로그램에 대한 제1 정의 정보를 획득할 수 있다. 예를 들면, 전자 장치(10)는 제1 사용자 인터페이스 정의 파일 내에서 타겟 정보를 확인하여, 제1 프로그램에 대한 제1 정의 정보를 획득할 수 있다. 예를 들면, 타겟 정보는, 복수의 프로그램에 공통적으로 적용 가능한 정보, 복수의 프로그램에 개별적으로 적용 가능한 정보, 및 복수의 프로그램이 분류된 타입 별로 적용 가능한 정보 중 적어도 하나의 정보를 포함할 수 있다. 전자 장치(10)는 제1 프로그램에 대한 제1 정의 정보에 기초하여, 제1 프로그램의 사용자 인터페이스를 생성할 수 있다. 전자 장치(10)는 제1 프로그램의 사용자 인터페이스를 표시할 수 있다.
예를 들면, 전자 장치(10)에서 복수의 프로그램 중 제2 프로그램이 실행되면, 전자 장치(10)는 제1 사용자 인터페이스 정의 파일을 호출할 수 있다. 전자 장치(10)는 제1 사용자 인터페이스 정의 파일에 포함된 제1 프로그램에 대한 제1 정의 정보에 기초하여, 제2 프로그램의 사용자 인터페이스를 표시할 수 있다. 이 경우, 제2 프로그램의 사용자 인터페이스의 레이아웃은, 제1 프로그램의 사용자 인터페이스의 레이아웃과 동일할 수 있다. 즉, 제2 프로그램의 사용자 인터페이스를 구성하는 컴포넌트들, 컴포넌트들의 설정 값, 컴포넌트들의 표시 순서, 컴포넌트들의 표시 위치, 컴포넌트들의 표시 여부 등에 대한 레이아웃 정보는, 제1 프로그램의 사용자 인터페이스를 구성하는 컴포넌트들, 컴포넌트들의 설정 값, 컴포넌트들의 표시 순서, 컴포넌트들의 표시 위치, 컴포넌트들의 표시 여부 등에 대한 레이아웃 정보와 동일할 수 있다. 이 경우, 제1 사용자 인터페이스 정의 파일에 포함된 정의 정보는, 복수의 프로그램에 공통적으로 적용 가능하도록 설정된 경우일 수 있다. 또한, 제1 사용자 인터페이스 정의 파일에 포함된 정의 정보는, 제1 프로그램과 제2 프로그램에 공통적으로 적용 가능하도록 설정된 경우일 수 있다. 예를 들면, 제1 프로그램과 제2 프로그램은, 복수의 프로그램이 소정 기준에 따라 분류된 타입 정보가 동일할 수 있다.
예를 들면, 전자 장치(10)에서 복수의 프로그램 중 제2 프로그램이 실행되면, 전자 장치(10)는 제1 사용자 인터페이스 정의 파일을 호출할 수 있다. 전자 장치(10)는 제1 사용자 인터페이스 정의 파일에 포함된 제2 프로그램에 대한 제2 정의 정보에 기초하여, 제2 프로그램의 사용자 인터페이스를 표시할 수 있다. 이 경우, 제2 프로그램의 사용자 인터페이스의 레이아웃은, 제1 프로그램의 사용자 인터페이스의 레이아웃과 상이할 수 있다. 예를 들면, 제2 프로그램의 사용자 인터페이스를 구성하는 컴포넌트들, 컴포넌트들의 설정 값, 컴포넌트들의 표시 순서, 컴포넌트들의 표시 위치, 컴포넌트들의 표시 여부 등에 대한 레이아웃 정보는, 제1 프로그램의 사용자 인터페이스를 구성하는 컴포넌트들, 컴포넌트들의 설정 값, 컴포넌트들의 표시 순서, 컴포넌트들의 표시 위치, 컴포넌트들의 표시 여부 등에 대한 레이아웃 정보와 상이할 수 있다. 이 경우, 제1 사용자 인터페이스 정의 파일에 포함된 정의 정보는, 복수의 프로그램에 개별적으로 적용 가능하도록 설정된 경우일 수 있다. 또한, 제1 사용자 인터페이스 정의 파일에 포함된 정의 정보는, 제1 프로그램과 제2 프로그램에 개별적으로 적용 가능하도록 설정된 경우일 수 있다. 예를 들면, 제1 프로그램과 제2 프로그램은, 복수의 프로그램이 소정 기준에 따라 분류된 타입 정보가 상이할 수 있다.
예를 들면, 전자 장치(10)에서 복수의 프로그램 중에서 소정 프로그램이 실행되면, 전자 장치(10)는 미리 저장된 제1 사용자 인터페이스 정의 파일을 호출하고, 제1 사용자 인터페이스 정의 파일 내에서 소정 프로그램에 대한 정의 정보를 획득할 수 있다. 전자 장치(10)는 소정 프로그램에 대한 정의 정보에 기초하여, 소정 프로그램의 사용자 인터페이스를 생성하고, 생성된 사용자 인터페이스를 표시할 수 있다.
예를 들면, 제1 프로그램의 사용자 인터페이스가 제공된 이후에, 제1 프로그램이 실행되면, 전자 장치(10)는 업데이트 된 제2 사용자 인터페이스 정의 파일이 있는지를 확인할 수 있다. 예를 들면, 업데이트 된 제2 사용자 인터페이스 정의 파일이 확인되면, 전자 장치(10)는 제2 사용자 인터페이스 정의 파일에 기초하여, 제1 프로그램의 사용자 인터페이스를 업데이트 할 수 있다. 업데이트 된 제2 사용자 인터페이스 정의 파일이 확인되지 않으면, 전자 장치(10)는 기 저장된 제1 사용자 인터페이스 정의 파일에 기초하여, 제1 프로그램의 사용자 인터페이스를 표시할 수 있다.
예를 들면, 전자 장치(10)는 제1 사용자 인터페이스 정의 파일에서 제1 프로그램에 대한 제1 타겟 정보를 획득할 수 있다. 전자 장치(10)는 제1 타겟 정보에 기초하여, 제1 사용자 인터페이스 정의 파일에서 제1 프로그램에 적용되는 제1 정의 정보를 획득할 수 있다. 전자 장치(10)는 제1 정의 정보에 기초하여, 제1 프로그램의 사용자 인터페이스를 생성하고, 생성된 제1 프로그램의 사용자 인터페이스를 표시할 수 있다.
도 2b는 사용자 인터페이스 정의 파일을 획득하여 저장하는 전자 장치의 동작 방법을 나타낸 일 예의 흐름도이다.
도 2b를 참고하면, 전자 장치(10)의 동작 222에서, 전자 장치(10)는 복수의 프로그램에 대응하는 제1 사용자 인터페이스 정의 파일을 획득할 수 있다. 예를 들면, 전자 장치(10)는 화상 형성 장치를 관리하는 관리 장치(20)로부터, 제1 사용자 인터페이스 정의 파일을 수신할 수 있다. 예를 들면, 전자 장치(10)는 제1 사용자 인터페이스의 레이아웃 정보를 수정하는 입력에 기초하여, 제1 사용자 인터페이스 정의 파일을 생성할 수 있다.
전자 장치(10)의 동작 224에서, 전자 장치(10)는 제1 사용자 인터페이스 정의 파일을 전자 장치(10)의 메모리의 레지스터에서 지정된 위치에 저장할 수 있다.
도 3은 화상 형성 장치에서 수행되는 작업을 제어할 수 있는 복수의 프로그램에서 메모리에 저장된 사용자 인터페이스 정의 파일을 호출하고, 사용자 인터페이스 정의 파일에 포함된 정의 정보에 기초하여 프로그램의 사용자 인터페이스를 표시하는 과정을 설명하기 위한 일 예의 도면이다.
도 3을 참고하면, 관리 장치(20)는, 관리자의 입력에 따라, 복수의 프로그램에 대응하는 사용자 인터페이스 정의 파일을 생성하는 데에 이용되는 관리 프로그램을 실행할 수 있다. 예를 들면, 관리 프로그램은, Admin Tool(301)일 수 있다. 관리 장치(20)는 관리 프로그램이 실행됨에 따라, 사용자 인터페이스의 레이아웃 정보를 설정하는 화면을 표시할 수 있다. 관리 장치(20)는 화면을 통해, 사용자 인터페이스의 레이아웃 정보를 설정하는 입력을 수신하고, 입력에 기초하여, 사용자 인터페이스 정의 파일을 생성할 수 있다. 예를 들면, 사용자 인터페이스 정의 파일은, UI configuration file(302)일 수 있다. 또한, 사용자 인터페이스 정의 파일은, XML 포맷일 수 있다. 관리 장치(20)는 UI configuration file(302)을 화상 형성 장치의 작업을 제어하는 프로그램이 저장된 전자 장치(10)로 배포할 수 있다. 또한, 전자 장치(10)는, 사용자의 입력에 따라, 전자 장치(10) 내에 저장된 관리 프로그램을 실행할 수 있다. 전자 장치(10)는, 관리 프로그램의 실행에 따른 화면을 통해 입력된 사용자의 입력에 기초하여, 사용자 인터페이스 정의 파일을 생성할 수도 있다.
예를 들면, 전자 장치(10)는, 사용자 인터페이스 정의 파일을 운영체제(OS: Operating System)에서 제공하는 소정의 저장 공간에 저장할 수 있다. 예를 들면, 소정의 저장 공간은, 프로퍼티 백(Property Bag)(303)일 수 있다. 프로퍼티 백에는, 사용자 인터페이스 정의 파일 내의 정의 정보가 저장될 수 있다. 예를 들면, 관리 장치(20)는 관리 프로그램을 통해, 전자 장치(10)에서 프로퍼티 백(303)의 API(Application Programming Interface)를 호출하여 사용자 인터페이스 정의 파일이 저장되도록 요청할 수 있다. 전자 장치(10)는 운영체제 내부적으로 프로퍼티 백에 매핑된 레지스트리에 사용자 인터페이스 정의 파일 내의 정의 정보를 저장할 수 있다. 또한, 전자 장치(10)의 운영체제에 따라서, 레지스트리의 위치는 변경될 수 있다.
예를 들면, 전자 장치(10)의 운영체제가 Windows 10일 수 있다. 스토어 앱(307)에서 인쇄 작업이 요청된 경우, 전자 장치(10)는 DCA(Device Companion App) UI(User Interface)(305)를 표시할 수 있다. 또한, 데스크 탑 앱(308)에서 인쇄 작업이 요청된 경우, 전자 장치(10)는 Driver Extension UI(306)를 표시할 수 있다. 구체적인 예를 들면, DCA UI(305) 및 Driver Extension UI(306)는 화상 형성 장치의 드라이버의 렌더링 모듈을 이용하여, 사용자 인터페이스 정의 파일을 호출하고, 사용자 인터페이스 정의 파일에 포함된 정의 정보에 기초하여, 사용자 인터페이스를 표시할 수 있다. 예를 들면, 화상 형성 장치의 드라이버는, V4 Driver(304)일 수 있다. 예를 들면, DCA UI(305) 및 Driver Extension UI(306)는 프로퍼티 백(303)을 통해, 레지스트리의 값을 읽어옴으로써, 사용자 인터페이스 정의 파일을 호출할 수 있다.
예를 들면, 사용자 인터페이스 정의 파일 내에서 스토어 앱(307)과 데스크 탑 앱(308)에 적용될 정의 정보가 동일하게 설정된 경우, DCA UI(305)의 레이아웃과 Driver Extension UI(306)의 레이아웃은 동일할 수 있다.
도 4a는 사용자 인터페이스의 레이아웃 정보가 포함된 사용자 인터페이스 정의 파일을 설명하기 위한 일 예의 도면이다.
예를 들면, 사용자 인터페이스 정의 파일은, 서로 다른 플랫폼들 또는 서로 다른 인터페이스의 프레임 워크를 기반으로 하는 프로그램들에 적용될 수 있다. 또한, 사용자 인터페이스 정의 파일에는, 사용자 인터페이스의 레이아웃 정보가 포함될 수 있다. 예를 들면, 사용자 인터페이스 정의 파일의 형식은, XML과 같은 마크업 언어로 된 형식일 수 있다.
예를 들면, 사용자 인터페이스 정의 파일은, 웹에서 구조화된 데이터, 정보, 문서를 전송 가능하도록 설계될 수 있다. 또한, 사용자 인터페이스 정의 파일에 포함된 정보는, 독립적으로 저장, 검색, 수정 등이 될 수 있다. 또한, 사용자 인터페이스의 레이아웃 정보는, 사용자 인터페이스를 구성하는 컴포넌트들, 컴포넌트들의 설정 값, 컴포넌트들의 표시 순서, 컴포넌트들의 표시 위치, 컴포넌트들의 표시 여부 중 적어도 하나의 정보를 포함할 수 있다.
도 4a에 도시된 바와 같이, 예를 들면, 제1 사용자 인터페이스 정의 파일은, XML 파일일 수 있다. 또한, 제1 사용자 인터페이스 정의 파일에는, 제1 사용자 인터페이스 정의 파일이 적용될 프로그램에 대한 정의 정보가 포함될 수 있다. 구체적으로 예를 들면, 제1 사용자 인터페이스 정의 파일에는, 제1 사용자 인터페이스 정의 파일이 적용될 프로그램에 대한 정보(411), 제1 사용자 인터페이스에 표시되는 컴포넌트들의 그룹 정보(412), 제1 사용자 인터페이스에 표시되는 컴포넌트들 및 컴포넌트들의 표시 여부의 정보(413)가 포함될 수 있다. 예를 들면, 컴포넌트들은, 페이퍼 소스, 미디어 타입, 스케일/리사이즈 등일 수 있다. 또한, 컴포넌트들의 표시 여부는, visible로 설정될 수 있다.
도 4a를 참고하면, 예를 들면, 제1 사용자 인터페이스 정의 파일이 적용될 프로그램에 대한 정보(411)는, "Common"으로 설정될 수 있다. 이 경우, 적용될 대상은, 화상 형성 장치에서 수행되는 작업을 제어할 수 있는 복수의 프로그램일 수 있다. 예를 들어, 서로 다른 플랫폼 또는 서로 다른 사용자 인터페이스의 프레임 워크를 기반으로 하는 프로그램들 각각이 제1 사용자 인터페이스 정의 파일에 기반하여 사용자 인터페이스를 표시할 수 있다. 한편, 관리자 또는 사용자는, 화상 형성 장치에서 수행되는 작업을 제어할 수 있는 프로그램들의 타입에 따라 적용될, 정의 정보를 다르게 설정할 수 있다.
도 4b는 프로그램 별로 사용자 인터페이스의 레이아웃 정보가 포함된 사용자 인터페이스 정의 파일을 설명하기 위한 일 예의 도면이다.
도 4b를 참고하면, 제1 사용자 인터페이스 정의 파일에는, 타겟 프로그램 별로, 사용자 인터페이스의 레이아웃 정보가 저장될 수 있다. 예를 들면, 제1 사용자 인터페이스 정의 파일에는 "Extension" 타입의 프로그램에 대한 제1 사용자 인터페이스의 레이아웃 정보 및 "DCA" 타입의 프로그램에 대한 제2 사용자 인터페이스의 레이아웃 정보가 포함될 수 있다.
예를 들면, 전자 장치(10) 또는 관리 장치(20)는, 화상 형성 장치에서 수행되는 작업을 제어할 수 있는 복수의 프로그램의 특성 정보에 기초하여, 복수의 프로그램의 사용자 인터페이스의 레이아웃을 다르게 설정할 수 있다. 예를 들면, 화상 형성 장치에서 제공되는 제1 기능이 제1 프로그램에서는 사용이 가능하지만, 제2 프로그램에서는 사용이 제한될 수 있다. 이 경우, 사용자 또는 관리자는 제2 프로그램의 사용자 인터페이스에서 제1 기능에 대응하는 컴포넌트가 표시되지 않도록 설정할 수 있다. 또한, 제1 프로그램과 제2 프로그램에서, 화상 형성 장치에서 제공되는 제2 기능에 대응하는 컴포넌트가 표시되는 위치가 다를 수 있다. 이 경우, 사용자 또는 관리자는 제1 프로그램 및 제2 프로그램에서 제2 기능에 대응하는 컴포넌트가 표시되는 위치를 다르게 설정할 수 있다.
구체적인 예를 들어 도 4b를 참고하면, 제1 사용자 인터페이스의 레이아웃 정보에는, 제1 사용자 인터페이스의 레이아웃 정보가 적용될 대상에 대한 정보(421)가 포함될 수 있다. 대상은 "Extension" 타입의 프로그램일 수 있다. 또한, 제1 사용자 인터페이스의 레이아웃 정보에는, 제1 사용자 인터페이스에 표시되는 복수의 컴포넌트들의 그룹 정보, 제1 사용자 인터페이스에 표시되는 복수의 컴포넌트들 및 컴포넌트들의 표시 여부의 정보가 포함될 수 있다.
또한, 제2 사용자 인터페이스의 레이아웃 정보에는, 제2 사용자 인터페이스의 레이아웃 정보가 적용될 대상에 대한 정보(431)가 포함될 수 있다. 대상은 "DCA" 타입의 프로그램일 수 있다. 또한, 제2 사용자 인터페이스의 레이아웃 정보에는, 제2 사용자 인터페이스에 표시되는 복수의 컴포넌트들의 그룹 정보, 제2 사용자 인터페이스에 표시되는 복수의 컴포넌트들 및 컴포넌트들의 표시 여부의 정보가 포함될 수 있다.
한편, 제1 사용자 인터페이스의 레이아웃에서, 미디어 타입에 대한 컴포넌트의 표시 여부 정보(422)는, "visible"로 설정될 수 있고, "Document" 그룹 내에 표시되도록 설정될 수 있다. 반면에, 제2 사용자 인터페이스의 레이아웃에서, 미디어 타입에 대한 컴포넌트의 표시 여부 정보(432)는, "visible"로 설정될 수 있고, "Advanced" 그룹 내에서 표시되도록 설정될 수 있다.
또한, 제1 사용자 인터페이스의 레이아웃에서, 스케일/리사이즈에 대한 표시 여부 정보(423)는, "visible"로 설정될 수 있고, "Document" 그룹 내에 표시되도록 설정될 수 있다. 반면에, 제2 사용자 인터페이스의 레이아웃에서, 스케일/리사이즈에 대한 표시 여부 정보(433)는, "hidden"으로 설정될 수 있고, "Document" 그룹 내에 표시되도록 설정될 수 있다.
도 5a는 사용자 인터페이스 정의 파일이 적용되기 전의 사용자 인터페이스를 도시한 일 예의 도면이다.
도 5a의 이미지(510)는 제1 프로그램의 제1 사용자 인터페이스를 도시하고, 도 5a의 이미지(520)는 제2 프로그램의 제2 사용자 인터페이스를 도시한다. 예를 들면, 제1 프로그램 및 제2 프로그램은, 전자 장치(10)에 설치될 수 있고, 전자 장치(10)에서 실행되는 프로그램에 따라, 전자 장치(10)는 제1 사용자 인터페이스 또는 제2 사용자 인터페이스를 표시할 수 있다. 도 5a에 도시된 바와 같이, 제1 사용자 인터페이스 및 제2 사용자 인터페이스에 표시된 컴포넌트들은 동일할 수 있다.
한편, 인쇄 작업 요청이 N번 있는 동안, "Copy Count" 컴포넌트에 대한 설정 횟수가 제1 기준 횟수 이상이고, "Print Mode" 컴포넌트에 대한 설정 횟수가 제2 기준 횟수 미만일 수 있다. 사용자 또는 관리자는 사용자 인터페이스 내의 컴포넌트들 중에서 사용 빈도를 고려하여, 사용자 인터페이스 내에서 컴포넌트의 표시 순서를 수정할 수 있다. 예를 들면, 기존에 "Print Mode"에 대한 컴포넌트 정보(511, 521)가 표시되는 순서가 첫 번째이고, "Copy Count"에 대한 컴포넌트 정보(512, 522)가 표시되는 순서가 여섯 번째인 경우, 사용자 또는 관리자는 "Print Mode"에 대한 컴포넌트 정보(511, 521)가 표시되는 순서를 여섯 번째로 설정하고, "Copy Count"에 대한 컴포넌트 정보(512, 522)가 표시되는 순서를 첫 번째로 설정할 수 있다.
전자 장치(10) 또는 관리 장치(20)는 "Print Mode"에 대한 컴포넌트 및 "Copy Count"에 대한 컴포넌트의 표시 순서를 변경하는 입력을 수신하고, 입력에 기초하여, 사용자 인터페이스의 레이아웃 정보가 저장된 사용자 인터페이스 정의 파일을 생성할 수 있다. 한편, 관리 장치(20)에서 사용자 인터페이스 정의 파일이 생성된 경우, 관리 장치(20)는 사용자 인터페이스 정의 파일을 전자 장치(10)로 배포할 수 있다. 전자 장치(10)는 배포된 사용자 인터페이스 정의 파일을 레지스트리에서 지정된 위치에 저장할 수 있다. 전자 장치(10)에서 제1 프로그램 또는 제2 프로그램이 실행되면, 전자 장치(10)는 레지스트리에서 사용자 인터페이스 정의 파일을 호출하고, 사용자 인터페이스 정의 파일에 포함된 정의 정보에 기초하여 사용자 인터페이스의 레이아웃을 업데이트하여 표시할 수 있다.
도 5b는 사용자 인터페이스 정의 파일이 적용된 후의 사용자 인터페이스를 도시한 일 예의 도면이다.
도 5b의 이미지(530)는 사용자 인터페이스 정의 파일이 적용된 제1 프로그램의 제1 사용자 인터페이스를 도시하고, 도 5b의 이미지(540)은 사용자 인터페이스 정의 파일이 적용된 제2 프로그램의 제2 사용자 인터페이스를 도시한다. 즉, 전자 장치(10)는 제1 프로그램 및 제2 프로그램 별로 사용자 인터페이스의 레이아웃을 업데이트 하기 위해, 제1 프로그램 및 제2 프로그램에 대한 업데이트 버전을 재설치 하지 않고, 제1 프로그램 또는 제2 프로그램의 실행 시에 레지스트리에 저장된 사용자 인터페이스 정의 파일을 호출하고, 사용자 인터페이스 정의 파일에 포함된 각 프로그램의 정의 정보에 기초하여 생성하여 표시함으로써, 제1 사용자 인터페이스와 제2 사용자 인터페이스를 동기화할 수 있다. 즉, 전자 장치(10)는 하나의 사용자 인터페이스 정의 파일을 이용하여, 복수의 프로그램에 대한 사용자 인터페이스를 동시에 동기화할 수 있다. 전자 장치(10)는 사용자 인터페이스 정의 파일을 업데이트 하면, 업데이트 된 사용자 인터페이스 정의 파일을 각 프로그램에 적용함으로써, 각 프로그램의 사용자 인터페이스를 용이하게 동기화할 수 있다.
도 6은 프로그램 별로 정의된 사용자 인터페이스의 정의 정보를 포함하는, 사용자 인터페이스 정의 파일이 적용된 후의 사용자 인터페이스를 도시한 일 예의 도면이다.
예를 들면, 제1 사용자 인터페이스 정의 정보에는, 제1 사용자 인터페이스 정의 정보가 적용되는 타겟 정보가 포함될 수 있다. 예를 들면, 도 4b에 도시된 바와 같이, 제1 사용자 인터페이스 정의 파일에는, 타겟 정보에 기초하여, 타겟 정보에 대응하는 프로그램 별로, 사용자 인터페이스의 레이아웃 정보가 저장될 수 있다.
도 6의 이미지(610)은, 도 4b에서 설명했던 제1 사용자 인터페이스의 레이아웃을 도시한다. 또한, 도 6의 이미지(620)은, 도 4b에서 설명했던 제2 사용자 인터페이스 레이아웃을 도시한다.
제1 사용자 인터페이스의 레이아웃과 제2 사용자 인터페이스의 레이아웃을 비교하면, 제1 사용자 인터페이스 내에서 미디어 타입에 대한 컴포넌트 정보(612)는 "Document" 그룹 내에 표시되고, 제2 사용자 인터페이스 내에서 미디어 타입에 대한 컴포넌트 정보(622)는 "Advanced" 그룹 내에 표시된다. 또한, 제1 사용자 인터페이스 내에서 스케일/리사이즈에 대한 컴포넌트 정보(613)는 "Document" 그룹 내에 표시되고, 제2 사용자 인터페이스 내에서 스케일/리사이즈에 대한 컴포넌트 정보(623)는 표시되지 않는다.
도 7은 전자 장치(10)의 일 예의 구성을 도시한 블록도이다.
도 7에 도시된 전자 장치(10)는 통신 유닛(710), 사용자 인터페이스 유닛(720), 메모리(730) 및 프로세서(740)를 포함할 수 있다. 그러나, 도시된 구성 요소가 필수 구성 요소인 것은 아니다. 도시된 구성 요소보다 많은 구성 요소에 의해 전자 장치(10)가 구현될 수 있고, 그보다 적은 구성 요소에 의해 전자 장치(10)가 구현될 수 있다. 이하, 구성 요소들에 대해 살펴본다.
통신 유닛(710)은 외부 장치와 통신을 수행할 수 있다. 구체적으로, 통신 유닛(710)은 유선 또는 무선으로 네트워크와 연결되어 외부 장치와 통신을 수행할 수 있다. 여기서, 외부 장치는 화상 형성 장치, 화상 형성 장치를 관리하는 관리 장치(20), 서버일 수 있다.
사용자 인터페이스 유닛(720)은 사용자로부터 전자 장치(10)의 동작을 제어하기 위한 입력 등을 수신하기 위한 입력 유닛과 전자 장치(10)의 동작에 따른 결과 또는 전자 장치(10)의 상태 등의 정보를 표시하기 위한 출력 유닛을 포함할 수 있다. 예를 들면, 사용자 인터페이스 유닛(720)은 사용자 입력을 수신하는 조작 패널, 화면을 표시하는 디스플레이 패널 등을 포함할 수 있다.
구체적으로, 입력 유닛은, 예를 들어, 키보드, 물리 버튼, 터치스크린, 카메라 또는 마이크 등과 같이 다양한 형태의 사용자 입력을 수신할 수 있는 장치들을 포함할 수 있다. 또한, 출력 유닛은, 예를 들어, 디스플레이 패널 또는 스피커 등을 포함할 수 있다.
메모리(730)는 소프트웨어 또는 프로그램을 저장할 수 있다. 메모리(730)는 복수의 프로그램의 사용자 인터페이스 정의 파일을 획득하고, 사용자 인터페이스 정의 파일에 포함된 소정 프로그램의 정의 정보에 따라 소정 프로그램의 사용자 인터페이스를 표시하는 전자 장치(10)의 동작과 관련된 적어도 하나의 프로그램을 저장할 수 있다.
프로세서(740)는 메모리(730)에 저장된 프로그램을 실행시키거나, 메모리(730)에 저장된 데이터 또는 파일을 읽어오거나, 새로운 파일을 메모리(730)에 저장할 수 있다. 프로세서(740)는 메모리(730)에 저장된 명령어들을 실행할 수 있다.
프로세서(740)는 화상 형성 장치에서 수행되는 작업을 제어할 수 있는 복수의 프로그램을 메모리(730)에 저장할 수 있다. 예를 들면, 복수의 프로그램에서는, 화상 형성 장치에서 수행되는 작업과 관련된 사용자 인터페이스가 제공될 수 있다. 예를 들면, 사용자가 각 프로그램에서 인쇄 작업을 화상 형성 장치로 요청하기 위해서는, 각 프로그램에서 인쇄 작업과 관련된 사용자 인터페이스가 제공될 수 있다.
프로세서(740)는 복수의 프로그램에 대응하는 제1 사용자 인터페이스 정의 파일을 메모리(730)에 저장할 수 있다. 예를 들면, 메모리(730)는, 복수의 프로그램에서 사용자 인터페이스를 생성하는 데에 참고하는, 제1 사용자 인터페이스 정의 파일을 저장할 수 있다.
예를 들면, 사용자 인터페이스는, 화상 형성 장치와 사용자 간에 소정 정보를 주고 받기 위해 제공되는 인터페이스일 수 있다. 사용자는, 사용자 인터페이스를 통해, 화상 형성 장치의 동작을 제어하는 명령을 입력하거나, 화상 형성 장치에서 수행되는 작업과 관련된 정보를 입력할 수 있다.
예를 들면, 제1 사용자 인터페이스 정의 파일은, 화상 형성 장치에서 수행되는 작업을 제어하는 복수의 프로그램의 사용자 인터페이스를 생성하는 데에 사용되는 파일일 수 있다. 복수의 프로그램은, 전자 장치(10)에 저장된 제1 사용자 인터페이스 정의 파일을 공통적으로 참고하여, 사용자 인터페이스를 생성 또는 변경할 수 있다.
예를 들면, 제1 사용자 인터페이스 정의 파일은, 복수의 프로그램에서 제공되는 사용자 인터페이스의 레이아웃 정보를 포함할 수 있다. 이 경우, 제1 사용자 인터페이스 정의 파일에는, 복수의 프로그램에 공통적으로 적용 가능한 사용자 인터페이스의 정의 정보가 포함되거나, 복수의 프로그램에 개별적으로 적용 가능한 사용자 인터페이스의 정의 정보가 포함될 수 있다. 또한, 복수의 프로그램은, 프로그램의 특성 정보에 기초하여 소정 타입들로 분류될 수 있다. 제1 사용자 인터페이스 정의 파일에는, 복수의 프로그램이 분류된 타입 별로 적용 가능한 사용자 인터페이스의 정의 정보가 포함될 수 있다.
예를 들면, 제1 사용자 인터페이스 정의 파일은, 제1 사용자 인터페이스를 구성하는 컴포넌트들, 컴포넌트들의 설정 값, 컴포넌트들의 표시 위치, 컴포넌트들의 표시 순서, 컴포넌트들의 표시 여부 중 적어도 하나의 정보를 포함할 수 있다. 예를 들면, 제1 사용자 인터페이스를 구성하는 컴포넌트는, 제1 사용자 인터페이스에 표시된 정보 내에서 하나의 독립된 정보로 특정되는 항목을 의미할 수 있다. 또한, 컴포넌트는, 화상 형성 장치에서 지원하는 기능들에 대한 항목을 의미할 수 있다.
또한, 제1 사용자 인터페이스 정의 파일에는, 복수의 프로그램에서 제공되는 사용자 인터페이스의 레이아웃과 관련된 정책 정보가 포함될 수 있다. 또한, 제1 사용자 인터페이스 정의 파일은, XML 포맷을 갖는 파일일 수 있다.
예를 들면, 제1 사용자 인터페이스 정의 파일은, 서로 다른 플랫폼 또는 서로 다른 사용자 인터페이스의 프레임 워크를 기반으로 하는 프로그램들에 적용될 수 있다. 예를 들면, 제1 사용자 인터페이스 정의 파일은, 서로 다른 플랫폼을 기반으로 하는 프로그램들에도 공통적으로 적용될 수 있다. 예를 들면, 제1 사용자 인터페이스 정의 파일은, 동일한 플랫폼을 사용하더라도, 서로 다른 사용자 인터페이스의 프레임 워크를 기반으로 하는 프로그램들에도 공통적으로 적용될 수 있다.
예를 들면, 플랫폼은, 소정 프로그램을 실행하는 데에 기초가 되는 시스템을 의미할 수 있다. 예를 들면, 플랫폼은, 운용체제, 시스템의 보조 프로그램, 마이크로프로세서(740), 마이크로 칩 등으로 구성될 수 있다. 예를 들면, 플랫폼은, Windows, 매킨토시 등일 수 있다. 또한, 플랫폼의 종류가 동일하더라도 버전이 다르면, 서로 다른 플랫폼을 의미할 수 있다.
예를 들면, 프레임 워크는, 소프트웨어의 구조적으로 소정 부분을 재사용하고, 응용과 관련된 소정 기능을 선택적으로 구현 가능하도록 지원하는 소프트웨어 플랫폼을 의미할 수 있다. 예를 들면, 사용자 인터페이스의 프레임 워크는, 사용자 인터페이스를 생성하여 표시하는 데에 이용되는 소프트웨어 플랫폼일 수 있다.
예를 들면, 프로세서(740)는 제1 사용자 인터페이스 정의 파일을 메모리(730)의 레지스터에서 지정된 위치에 저장할 수 있다. 예를 들면, 프로세서(740)는 전자 장치(10)의 소정 저장 공간에 제1 사용자 인터페이스 정의 파일 내의 정의 정보를 저장할 수 있다. 예를 들면, 소정 저장 공간은, 운영체제의 프로퍼티 백일 수 있다.
한편, 프로세서(740)는 통신 유닛(710)을 통해, 화상 형성 장치를 관리하는 관리 장치(20)로부터, 제1 사용자 인터페이스 정의 파일을 수신할 수 있다. 또한, 프로세서(740)는 제1 사용자 인터페이스의 레이아웃 정보를 수정하는 입력에 기초하여, 제1 사용자 인터페이스 정의 파일을 생성할 수 있다.
전자 장치(10)에서 복수의 프로그램 중 제1 프로그램이 실행되면, 프로세서(740)는 제1 사용자 인터페이스 정의 파일을 호출할 수 있다. 예를 들면, 전자 장치(10)에서 제1 프로그램이 실행되면, 프로세서(740)는 제1 프로그램의 사용자 인터페이스를 표시하기 위해, 프로퍼티 백에 저장된 제1 사용자 인터페이스 정의 파일을 호출할 수 있다.
프로세서(740)는 제1 사용자 인터페이스 정의 파일에 포함된 제1 프로그램에 대한 제1 정의 정보에 기초하여, 사용자 인터페이스 유닛(720)을 통해, 제1 프로그램의 사용자 인터페이스를 표시할 수 있다.
예를 들면, 프로세서(740)는, 제1 사용자 인터페이스 정의 파일에서 제1 프로그램의 사용자 인터페이스를 생성하는 데에 이용되는, 제1 프로그램에 대한 제1 정의 정보를 획득할 수 있다. 예를 들면, 프로세서(740)는 제1 사용자 인터페이스 정의 파일 내에서 타겟 정보를 확인하여, 제1 프로그램에 대한 제1 정의 정보를 획득할 수 있다. 예를 들면, 타겟 정보는, 복수의 프로그램에 공통적으로 적용 가능한 정보, 복수의 프로그램에 개별적으로 적용 가능한 정보, 및 복수의 프로그램이 분류된 타입 별로 적용 가능한 정보 중 적어도 하나의 정보를 포함할 수 있다.
예를 들면, 프로세서(740)는 제1 프로그램에 대한 제1 정의 정보에 기초하여, 제1 프로그램의 사용자 인터페이스를 생성할 수 있다. 프로세서(740)는 사용자 인터페이스 유닛(720)을 통해, 제1 프로그램의 사용자 인터페이스를 표시할 수 있다.
예를 들면, 전자 장치(10)에서 복수의 프로그램 중 제2 프로그램이 실행되면, 프로세서(740)는 제1 사용자 인터페이스 정의 파일을 호출할 수 있다. 프로세서(740)는 제1 사용자 인터페이스 정의 파일에 포함된 제1 프로그램에 대한 제1 정의 정보에 기초하여, 사용자 인터페이스 유닛(720)을 통해, 제2 프로그램의 사용자 인터페이스를 표시할 수 있다.
이 경우, 제2 프로그램의 사용자 인터페이스의 레이아웃은, 제1 프로그램의 사용자 인터페이스의 레이아웃과 동일할 수 있다. 즉, 제2 프로그램의 사용자 인터페이스를 구성하는 컴포넌트들, 컴포넌트들의 설정 값, 컴포넌트들의 표시 순서, 컴포넌트들의 표시 위치, 컴포넌트들의 표시 여부 등에 대한 레이아웃 정보는, 제1 프로그램의 사용자 인터페이스를 구성하는 컴포넌트들, 컴포넌트들의 설정 값, 컴포넌트들의 표시 순서, 컴포넌트들의 표시 위치, 컴포넌트들의 표시 여부 등에 대한 레이아웃 정보와 동일할 수 있다.
또한, 제1 사용자 인터페이스 정의 파일에 포함된 정의 정보는, 복수의 프로그램에 공통적으로 적용 가능하도록 설정된 경우일 수 있다. 또한, 제1 사용자 인터페이스 정의 파일에 포함된 정의 정보는, 제1 프로그램과 제2 프로그램에 공통적으로 적용 가능하도록 설정된 경우일 수 있다. 예를 들면, 제1 프로그램과 제2 프로그램은, 복수의 프로그램이 소정 기준에 따라 분류된 타입 정보가 동일할 수 있다.
예를 들면, 전자 장치(10)에서 복수의 프로그램 중 제2 프로그램이 실행되면, 프로세서(740)는 제1 사용자 인터페이스 정의 파일을 호출할 수 있다. 프로세서(740)는 제1 사용자 인터페이스 정의 파일에 포함된 제2 프로그램에 대한 제2 정의 정보에 기초하여, 사용자 인터페이스 유닛(720)을 통해, 제2 프로그램의 사용자 인터페이스를 표시할 수 있다.
이 경우, 제2 프로그램의 사용자 인터페이스의 레이아웃은, 제1 프로그램의 사용자 인터페이스의 레이아웃과 상이할 수 있다. 예를 들면, 제2 프로그램의 사용자 인터페이스를 구성하는 컴포넌트들, 컴포넌트들의 설정 값, 컴포넌트들의 표시 순서, 컴포넌트들의 표시 위치, 컴포넌트들의 표시 여부 등에 대한 레이아웃 정보는, 제1 프로그램의 사용자 인터페이스를 구성하는 컴포넌트들, 컴포넌트들의 설정 값, 컴포넌트들의 표시 순서, 컴포넌트들의 표시 위치, 컴포넌트들의 표시 여부 등에 대한 레이아웃 정보와 상이할 수 있다.
또한, 제1 사용자 인터페이스 정의 파일에 포함된 정의 정보는, 복수의 프로그램에 개별적으로 적용 가능하도록 설정된 경우일 수 있다. 또한, 제1 사용자 인터페이스 정의 파일에 포함된 정의 정보는, 제1 프로그램과 제2 프로그램에 개별적으로 적용 가능하도록 설정된 경우일 수 있다. 예를 들면, 제1 프로그램과 제2 프로그램은, 복수의 프로그램이 소정 기준에 따라 분류된 타입 정보가 상이할 수 있다.
예를 들면, 전자 장치(10)에서 복수의 프로그램 중에서 소정 프로그램이 실행되면, 프로세서(740)는 프로퍼티 백에서 미리 저장된 제1 사용자 인터페이스 정의 파일을 호출하고, 제1 사용자 인터페이스 정의 파일 내에서 소정 프로그램에 대한 정의 정보를 획득할 수 있다. 프로세서(740)는 소정 프로그램에 대한 정의 정보에 기초하여, 소정 프로그램의 사용자 인터페이스를 생성하고, 사용자 인터페이스 유닛(720)을 통해 생성된 사용자 인터페이스를 표시할 수 있다.
예를 들면, 제1 프로그램의 사용자 인터페이스가 제공된 이후에, 제1 프로그램이 실행되면, 프로세서(740)는 업데이트 된 제2 사용자 인터페이스 정의 파일이 있는지를 확인할 수 있다. 예를 들면, 업데이트 된 제2 사용자 인터페이스 정의 파일이 확인되면, 프로세서(740)는 제2 사용자 인터페이스 정의 파일에 기초하여, 제1 프로그램의 사용자 인터페이스를 업데이트 할 수 있다. 업데이트 된 제2 사용자 인터페이스 정의 파일이 확인되지 않으면, 프로세서(740)는 기 저장된 제1 사용자 인터페이스 정의 파일에 기초하여, 사용자 인터페이스 유닛(720)을 통해, 제1 프로그램의 사용자 인터페이스를 표시할 수 있다.
예를 들면, 프로세서(740)는 제1 사용자 인터페이스 정의 파일에서 제1 프로그램에 대한 제1 타겟 정보를 획득할 수 있다. 프로세서(740)는 제1 타겟 정보에 기초하여, 제1 사용자 인터페이스 정의 파일에서 제1 프로그램에 적용되는 제1 정의 정보를 획득할 수 있다. 프로세서(740)는 제1 정의 정보에 기초하여, 제1 프로그램의 사용자 인터페이스를 생성하고, 사용자 인터페이스 유닛(720)을 통해, 생성된 제1 프로그램의 사용자 인터페이스를 표시할 수 있다.
도 8은 사용자 인터페이스 정의 파일을 생성하고, 사용자 인터페이스 정의 파일을 배포하는 관리 장치(20)의 동작 방법을 나타낸 일 예의 흐름도이다.
도 8을 참고하면, 관리 장치(20)의 동작 810에서, 관리 장치(20)는 화상 형성 장치에서 수행되는 작업을 제어할 수 있는 복수의 프로그램의 제1 사용자 인터페이스의 레이아웃 정보를 수신할 수 있다.
예를 들면, 관리 장치(20)는, 관리자의 입력에 따라 관리 프로그램을 실행할 수 있다. 여기서, 관리 프로그램은, 복수의 프로그램에 대응하는 사용자 인터페이스 정의 파일을 생성하는 데에 이용되는 프로그램일 수 있다. 관리 장치(20)는, 관리 프로그램의 실행에 따른 화면을 통해, 제1 사용자 인터페이스의 레이아웃 정보를 설정하는 입력을 수신할 수 있다.
예를 들면, 제1 사용자 인터페이스의 레이아웃 정보에는, 제1 사용자 인터페이스를 구성하는 컴포넌트들, 컴포넌트들의 설정 값, 컴포넌트들의 표시 위치, 컴포넌트들의 표시 순서, 컴포넌트들의 표시 여부, 제1 사용자 인터페이스가 적용될 타겟 정보 중 적어도 하나의 정보를 포함할 수 있다.
관리 장치(20)의 동작 820에서, 관리 장치(20)는 제1 사용자 인터페이스의 레이아웃 정보에 기초하여, 복수의 프로그램에서 참조하는, 제1 사용자 인터페이스 정의 파일을 생성할 수 있다.
예를 들면, 제1 사용자 인터페이스 정의 파일은, 화상 형성 장치에서 수행되는 작업을 제어하는 복수의 프로그램의 사용자 인터페이스를 생성하는 데에 사용되는 파일일 수 있다.
예를 들면, 제1 사용자 인터페이스 정의 파일에는, 복수의 프로그램에 공통적으로 적용 가능한 사용자 인터페이스의 정의 정보가 포함되거나, 복수의 프로그램에 개별적으로 적용 가능한 사용자 인터페이스의 정의 정보가 포함될 수 있다. 또한, 제1 사용자 인터페이스 정의 파일에는, 복수의 프로그램이 분류된 타입 별로 적용 가능한 사용자 인터페이스의 정의 정보가 포함될 수 있다.
관리 장치(20)의 동작 830에서, 관리 장치(20)는 제1 사용자 인터페이스 정의 파일을 전자 장치(10)로 배포할 수 있다. 여기서, 전자 장치(10)는 화상 형성 장치에서 수행되는 작업을 화상 형성 장치로 요청하는 장치일 수 있다. 전자 장치(10)에는 화상 형성 장치에서 수행되는 작업을 제어할 수 있는 복수의 프로그램이 설치될 수 있다.
예를 들면, 관리 장치(20)는 관리 프로그램을 통해, 전자 장치(10)에서 프로퍼티 백의 API를 호출하여 사용자 인터페이스 정의 파일이 저장되도록 요청할 수 있다.
도 9는 사용자 인터페이스의 레이아웃 정보를 입력 받는 화면을 설명하기 위한 일 예의 도면이다.
도 9를 참고하면, 관리 장치(20)는, 관리자의 입력에 따라, 프로그램의 사용자 인터페이스의 레이아웃의 정보를 설정하는 데에 이용되는 관리 프로그램을 실행할 수 있다. 관리 장치(20)는 프로그램의 사용자 인터페이스를 구성하는 컴포넌트들의 컴포넌트 정보를 입력 받는 화면을 표시할 수 있다. 여기서, 프로그램은, 전자 장치(10)에서 화상 형성 장치의 작업을 제어하는 데에 사용되는 프로그램일 수 있다. 예를 들면, 컴포넌트는, 화상 형성 장치에서 화상 형성 작업 시에 요구되는 파라미터일 수 있다. 관리 장치(20)는 화면에 기초하여, 사용자 인터페이스의 레이아웃 정보를 수정하는 입력을 수신할 수 있다.
예를 들면, 화면에는, 사용자 인터페이스의 레이아웃 정보(910)를 설정하는 인터페이스가 표시될 수 있다. 구체적으로, 화면에는, 복수의 컴포넌트의 정보, 복수의 컴포넌트들의 설정 값에 대한 정보, 복수의 컴포넌트들의 표시 여부에 대한 정보, 복수의 컴포넌트들의 표시 순서에 대한 정보, 복수의 컴포넌트들의 표시 위치에 대한 정보 등이 표시될 수 있다. 구체적으로 도 9를 참고하면, 제1 컴포넌트(911)의 정보는, 페이퍼 사이즈를 나타내는 정보이고, 제1 컴포넌트(911)의 설정 값에 대한 정보(912)는, "Envelope #10"으로 설정된 정보이고, 제1 컴포넌트(911)의 표시 여부에 대한 정보(913)는 "Visible"로 설정된 정보일 수 있다.
한편, 화면에 표시된 복수의 컴포넌트들의 정보는, 화상 형성 장치에서 지원하는 기능들에 기초하여 미리 결정될 수 있다. 또한, 복수의 컴포넌트들의 초기 설정 값도 미리 결정될 수 있다.
예를 들면, 화면에는, 복수의 컴포넌트들의 표시 순서를 조정할 수 있는 아이콘들(914)이 표시될 수 있다. 관리자는 아이콘들(914) 중 제1 아이콘을 선택하고, 제1 아이콘의 위치를 조정할 수 있다.
도 10은 관리 장치(20)의 일 예의 구성을 도시한 블록도이다.
도 10에 도시된 관리 장치(20)는 통신 유닛(1010), 사용자 인터페이스 유닛(1020), 메모리(1030) 및 프로세서(1040)를 포함할 수 있다. 그러나, 도시된 구성 요소가 필수 구성 요소인 것은 아니다. 도시된 구성 요소보다 많은 구성 요소에 의해 관리 장치(20)가 구현될 수 있고, 그보다 적은 구성 요소에 의해 관리 장치(20)가 구현될 수 있다. 이하, 상기 구성 요소들에 대해 살펴본다.
통신 유닛(1010)은 외부 장치와 통신을 수행할 수 있다. 구체적으로, 통신 유닛(1010)은 유선 또는 무선으로 네트워크와 연결되어 외부 장치와 통신을 수행할 수 있다. 여기서, 외부 장치는 화상 형성 장치, 화상 형성 장치의 작업을 제어하는 전자 장치(10), 서버일 수 있다.
사용자 인터페이스 유닛(1020)은 관리자로부터 관리 장치(20)의 동작을 제어하기 위한 입력 등을 수신하기 위한 입력 유닛과 관리 장치(20)의 동작에 따른 결과 또는 관리 장치(20)의 상태 등의 정보를 표시하기 위한 출력 유닛을 포함할 수 있다. 예를 들면, 사용자 인터페이스 유닛(1020)은 관리자 입력을 수신하는 조작 패널, 화면을 표시하는 디스플레이 패널 등을 포함할 수 있다.
구체적으로, 입력 유닛은, 예를 들어, 키보드, 물리 버튼, 터치스크린, 카메라 또는 마이크 등과 같이 다양한 형태의 관리자 입력을 수신할 수 있는 장치들을 포함할 수 있다. 또한, 출력 유닛은, 예를 들어, 디스플레이 패널 또는 스피커 등을 포함할 수 있다.
메모리(1030)는 소프트웨어 또는 프로그램을 저장할 수 있다. 메모리(1030)는 복수의 프로그램의 사용자 인터페이스 정의 파일을 생성하고, 사용자 인터페이스 정의 파일을 화상 형성 장치의 작업을 제어하는 전자 장치(10)로 배포하는 관리 장치(20)의 동작과 관련된 적어도 하나의 프로그램을 저장할 수 있다.
프로세서(1040)는 메모리(1030)에 저장된 프로그램을 실행시키거나, 메모리(1030)에 저장된 데이터 또는 파일을 읽어오거나, 새로운 파일을 메모리(1030)에 저장할 수 있다. 프로세서(1040)는 메모리(1030)에 저장된 명령어들을 실행할 수 있다.
프로세서(1040)는, 사용자 인터페이스 유닛(1020)을 통해, 화상 형성 장치에서 수행되는 작업을 제어할 수 있는 복수의 프로그램의 제1 사용자 인터페이스의 레이아웃 정보를 수신할 수 있다.
예를 들면, 프로세서(1040)는, 관리자의 입력에 따라 관리 프로그램을 실행할 수 있다. 여기서, 관리 프로그램은, 복수의 프로그램에 대응하는 사용자 인터페이스 정의 파일을 생성하는 데에 이용되는 프로그램일 수 있다. 사용자 인터페이스 유닛(1020)은, 관리 프로그램의 실행에 따른 화면을 통해, 제1 사용자 인터페이스의 레이아웃 정보를 설정하는 입력을 수신할 수 있다.
예를 들면, 제1 사용자 인터페이스의 레이아웃 정보에는, 제1 사용자 인터페이스를 구성하는 컴포넌트들, 컴포넌트들의 설정 값, 컴포넌트들의 표시 위치, 컴포넌트들의 표시 순서, 컴포넌트들의 표시 여부, 제1 사용자 인터페이스가 적용될 타겟 정보 중 적어도 하나의 정보를 포함할 수 있다.
프로세서(1040)는 제1 사용자 인터페이스의 레이아웃 정보에 기초하여, 복수의 프로그램에서 참조하는, 제1 사용자 인터페이스 정의 파일을 생성할 수 있다.
예를 들면, 프로세서(1040)는, 제1 사용자 인터페이스의 레이아웃 정보에 기초하여, 화상 형성 장치에서 수행되는 작업을 제어하는 복수의 프로그램의 사용자 인터페이스를 생성하는 데에 사용되는, 제1 사용자 인터페이스 정의 파일을 생성할 수 있다.
예를 들면, 프로세서(1040)는, 제1 사용자 인터페이스의 레이아웃 정보에 기초하여, 복수의 프로그램에 공통적으로 적용 가능한 사용자 인터페이스의 정의 정보가 포함되거나, 복수의 프로그램에 개별적으로 적용 가능한 사용자 인터페이스의 정의 정보가 포함된, 제1 사용자 인터페이스 정의 파일을 생성할 수 있다. 또한, 프로세서(1040)는, 제1 사용자 인터페이스의 레이아웃 정보에 기초하여, 복수의 프로그램이 분류된 타입 별로 적용 가능한 사용자 인터페이스의 정의 정보가 포함된, 제1 사용자 인터페이스 정의 파일을 생성할 수 있다.
프로세서(1040)는, 통신 유닛(1010)을 통해, 제1 사용자 인터페이스 정의 파일을 전자 장치(10)로 배포할 수 있다. 여기서, 전자 장치(10)는 화상 형성 장치에서 수행되는 작업을 화상 형성 장치로 요청하는 장치일 수 있다. 전자 장치(10)에는 화상 형성 장치에서 수행되는 작업을 제어할 수 있는 복수의 프로그램이 설치될 수 있다.
예를 들면, 프로세서(1040)는 관리 프로그램을 통해, 전자 장치(10)에서 프로퍼티 백의 API를 호출하여 사용자 인터페이스 정의 파일이 저장되도록 요청할 수 있다.
도 11은 컴퓨터 판독 가능 저장매체에 저장된 명령어들을 설명하기 위한 일 예의 도면이다.
컴퓨터 판독 가능 저장 매체(1100)는, 도 1 내지 도 10에서 설명한 전자 장치(10)의 동작과 관련된 명령어들을 저장할 수 있다. 예를 들면, 컴퓨터 판독 가능 저장 매체(1100)는, 화상 형성 장치에서 수행되는 작업을 제어할 수 있는 복수의 프로그램을 저장하는 명령어들(1110), 복수의 프로그램에 대응하는 제1 사용자 인터페이스 정의 파일을 저장하는 명령어들(1120), 복수의 프로그램 중 제1 프로그램이 실행되면, 제1 사용자 인터페이스 정의 파일을 호출하는 명령어들(1130), 및 제1 사용자 인터페이스 정의 파일에 포함된 제1 프로그램에 대한 제1 정의 정보에 기초하여, 제1 프로그램의 사용자 인터페이스를 표시하는 명령어들(1140)을 저장할 수 있다.
또한, 컴퓨터 판독 가능 저장 매체(1100)는, 복수의 프로그램에 대응하는 제1 사용자 인터페이스 정의 파일을 획득하는 명령어들, 제1 사용자 인터페이스 정의 파일을 레지스터에서 지정된 위치에 저장하는 명령어들을 저장할 수 있다.
도 12는 컴퓨터 판독 가능 저장매체에 저장된 명령어들을 설명하기 위한 일 다른 예의 도면이다.
컴퓨터 판독 가능 저장 매체(1200)는, 도 1 내지 도 10에서 설명한 관리 장치(20)의 동작과 관련된 명령어들을 저장할 수 있다. 예를 들면, 컴퓨터 판독 가능 저장 매체(1200)는, 화상 형성 장치에서 수행되는 작업을 제어할 수 있는 복수의 프로그램의 제1 사용자 인터페이스의 레이아웃 정보를 수신하는 명령어들(1210), 제1 사용자 인터페이스의 레이아웃 정보에 기초하여, 복수의 프로그램에서 참조하는, 제1 사용자 인터페이스 정의 파일을 생성하는 명령어들(1220), 및 전자 장치(10)로 제1 사용자 인터페이스 정의 파일을 배포하는 명령어들(1230)을 저장할 수 있다.
한편, 상술한 전자 장치(10) 및 관리 장치(20)의 동작 방법은 컴퓨터 또는 프로세서에 의하여 실행 가능한 명령어 또는 데이터를 저장하는 컴퓨터 판독 가능 저장매체의 형태로 구현될 수 있다. 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터 판독 가능 저장매체를 이용하여 이와 같은 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 이와 같은 컴퓨터 판독 가능 저장매체는 read-only memory (ROM), random-access memory (RAM), flash memory, CD-ROMs, CD-Rs, CD+Rs, CD-RWs, CD+RWs, DVD-ROMs, DVD-Rs, DVD+Rs, DVD-RWs, DVD+RWs, DVD-RAMs, BD-ROMs, BD-Rs, BD-R LTHs, BD-REs, 마그네틱 테이프, 플로피 디스크, 광자기 데이터 저장 장치, 광학 데이터 저장 장치, 하드 디스크, 솔리드-스테이트 디스크(SSD), 그리고 명령어 또는 소프트웨어, 관련 데이터, 데이터 파일, 및 데이터 구조들을 저장할 수 있고, 프로세서나 컴퓨터가 명령어를 실행할 수 있도록 프로세서나 컴퓨터에 명령어 또는 소프트웨어, 관련 데이터, 데이터 파일, 및 데이터 구조들을 제공할 수 있는 어떠한 장치라도 될 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 본 개시의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (15)

  1. 통신 유닛;
    사용자 인터페이스 유닛;
    프로세서; 및
    상기 프로세서에 의해 실행 가능한 명령어들을 저장하는 메모리를 포함하고,
    상기 프로세서는, 상기 명령어들을 실행함으로써,
    화상 형성 장치에서 수행되는 작업을 제어할 수 있는 복수의 프로그램을 상기 메모리에 저장하고,
    상기 복수의 프로그램에 대응하는 제1 사용자 인터페이스 정의 파일을 상기 메모리에 저장하고,
    상기 복수의 프로그램 중 제1 프로그램이 실행되면, 상기 제1 사용자 인터페이스 정의 파일을 호출하고,
    상기 제1 사용자 인터페이스 정의 파일에 포함된 상기 제1 프로그램에 대한 제1 정의 정보에 기초하여, 상기 사용자 인터페이스 유닛을 통해, 상기 제1 프로그램의 사용자 인터페이스를 표시하는, 전자 장치.
  2. 제1항에 있어서,
    상기 제1 사용자 인터페이스 정의 파일은,
    서로 다른 플랫폼들 또는 서로 다른 사용자 인터페이스의 프레임 워크를 기반으로 하는 프로그램들에 적용되고,
    제1 사용자 인터페이스의 레이아웃 정보가 포함된, 전자 장치.
  3. 제2항에 있어서,
    상기 제1 사용자 인터페이스의 레이아웃 정보는,
    상기 제1 사용자 인터페이스를 구성하는 컴포넌트들, 상기 컴포넌트들의 설정 값, 상기 컴포넌트들의 표시 순서, 상기 컴포넌트들의 표시 위치, 상기 컴포넌트들의 표시 여부 중 적어도 하나의 정보를 포함하는, 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는, 상기 명령어들을 실행함으로써,
    상기 제1 사용자 인터페이스 정의 파일을 상기 메모리에 저장된 파일 위치 정보가 지정하는 위치에 저장하는, 전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는, 상기 명령어들을 실행함으로써,
    상기 복수의 프로그램 중 제2 프로그램이 실행되면, 상기 제1 사용자 인터페이스 정의 파일을 호출하고,
    상기 제1 사용자 인터페이스 정의 파일에 포함된 상기 제1 프로그램에 대한 제1 정의 정보에 기초하여, 상기 사용자 인터페이스 유닛을 통해, 상기 제2 프로그램의 사용자 인터페이스를 표시하는, 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는, 상기 명령어들을 실행함으로써,
    상기 복수의 프로그램 중 제2 프로그램이 실행되면, 상기 제1 사용자 인터페이스 정의 파일을 호출하고,
    상기 제1 사용자 인터페이스 정의 파일에 포함된 상기 제2 프로그램에 대한 제2 정의 정보에 기초하여, 상기 사용자 인터페이스 유닛을 통해, 상기 제2 프로그램의 사용자 인터페이스를 표시하는, 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는, 상기 명령어들을 실행함으로써,
    상기 제1 프로그램의 사용자 인터페이스가 제공된 이후에, 상기 제1 프로그램이 실행되면, 업데이트 된 제2 사용자 인터페이스 정의 파일이 있는지를 확인하고,
    상기 업데이트된 제2 사용자 인터페이스 정의 파일이 확인되면, 상기 제2 사용자 인터페이스 정의 파일에 기초하여, 상기 제1 프로그램의 사용자 인터페이스를 업데이트 하는, 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는, 상기 명령어들을 실행함으로써,
    상기 제1 사용자 인터페이스 정의 파일에서 상기 제1 프로그램에 대한 제1 타겟 정보를 획득하고,
    상기 제1 타겟 정보에 기초하여, 상기 제1 사용자 인터페이스 정의 파일에서 상기 제1 프로그램에 적용되는 상기 제1 정의 정보를 획득하고,
    상기 제1 정의 정보에 기초하여, 상기 제1 프로그램의 사용자 인터페이스를 생성하고, 상기 제1 프로그램의 사용자 인터페이스를 표시하는, 전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는, 상기 명령어들을 실행함으로써,
    상기 통신 유닛을 통해, 상기 화상 형성 장치를 관리하는 관리 장치로부터, 상기 제1 사용자 인터페이스 정의 파일을 수신하거나,
    제1 사용자 인터페이스의 레이아웃 정보를 수정하는 입력에 기초하여, 상기 제1 사용자 인터페이스 정의 파일을 생성하는, 전자 장치.
  10. 제1항에 있어서,
    상기 제1 사용자 인터페이스 정의 파일은, XML(eXtensible Markup Language) 파일인, 전자 장치.
  11. 통신 유닛;
    사용자 인터페이스 유닛;
    프로세서; 및
    상기 프로세서에 의해 실행 가능한 명령어들을 저장하는 메모리를 포함하고,
    상기 프로세서는, 상기 명령어들을 실행함으로써,
    화상 형성 장치에서 수행되는 작업을 제어할 수 있는 복수의 프로그램의 제1 사용자 인터페이스의 레이아웃 정보를 수신하고,
    상기 제1 사용자 인터페이스의 레이아웃 정보에 기초하여, 상기 복수의 프로그램에서 참조하는, 제1 사용자 인터페이스 정의 파일을 생성하고,
    상기 통신 유닛을 통해, 상기 작업을 상기 화상 형성 장치로 요청하는 전자 장치로, 상기 제1 사용자 인터페이스 정의 파일을 배포하는, 관리 장치.
  12. 제11항에 있어서,
    상기 프로세서는, 상기 명령어들을 실행함으로써,
    상기 사용자 인터페이스 유닛을 통해, 상기 제1 사용자 인터페이스를 구성하는 컴포넌트들, 상기 컴포넌트들의 설정 값, 상기 컴포넌트들의 표시 순서, 상기 컴포넌트들의 표시 위치, 상기 컴포넌트들의 표시 여부 중 적어도 하나의 정보를 수신하는, 관리 장치.
  13. 제11항에 있어서,
    상기 제1 사용자 인터페이스 정의 파일은,
    서로 다른 플랫폼들 또는 서로 다른 사용자 인터페이스의 프레임 워크를 기반으로 하는 프로그램들에 적용되고,
    제1 사용자 인터페이스의 레이아웃 정보가 포함된, 관리 장치.
  14. 제11항에 있어서,
    상기 프로세서는, 상기 명령어들을 실행함으로써,
    상기 사용자 인터페이스 유닛을 통해, 상기 제1 사용자 인터페이스 정의 파일이 적용될 상기 복수의 프로그램을 설정하는 입력, 및 상기 복수의 프로그램에 대한 사용자 인터페이스의 레이아웃 정보를 설정하는 입력을 수신하고,
    상기 복수의 프로그램 별로 사용자 인터페이스에 대한 정의 정보가 설정된, 상기 제1 사용자 인터페이스 정의 파일을 생성하는, 관리 장치.
  15. 화상 형성 장치에서 수행되는 작업을 제어할 수 있는 복수의 프로그램을 저장하는 명령어들;
    상기 복수의 프로그램에 대응하는 제1 사용자 인터페이스 정의 파일을 저장하는 명령어들;
    상기 복수의 프로그램 중 제1 프로그램이 실행되면, 상기 제1 사용자 인터페이스 정의 파일을 호출하는 명령어들; 및
    상기 제1 사용자 인터페이스 정의 파일에 포함된 상기 제1 프로그램에 대한 제1 정의 정보에 기초하여, 상기 제1 프로그램의 사용자 인터페이스를 표시하는 명령어들을 포함하는, 프로세서에 의해 실행 가능한 명령어들로 저장된 컴퓨터 판독 가능 저장 매체.
KR1020200074217A 2020-06-18 2020-06-18 사용자 인터페이스 정의 파일을 이용한 사용자 인터페이스 표시 KR20210156523A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200074217A KR20210156523A (ko) 2020-06-18 2020-06-18 사용자 인터페이스 정의 파일을 이용한 사용자 인터페이스 표시
US17/913,227 US20230153127A1 (en) 2020-06-18 2020-11-17 Displaying user interface using user interface definition file
PCT/US2020/060826 WO2021257110A1 (en) 2020-06-18 2020-11-17 Displaying user interface using user interface definition file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200074217A KR20210156523A (ko) 2020-06-18 2020-06-18 사용자 인터페이스 정의 파일을 이용한 사용자 인터페이스 표시

Publications (1)

Publication Number Publication Date
KR20210156523A true KR20210156523A (ko) 2021-12-27

Family

ID=79177247

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200074217A KR20210156523A (ko) 2020-06-18 2020-06-18 사용자 인터페이스 정의 파일을 이용한 사용자 인터페이스 표시

Country Status (3)

Country Link
US (1) US20230153127A1 (ko)
KR (1) KR20210156523A (ko)
WO (1) WO2021257110A1 (ko)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6335795B1 (en) * 1997-09-15 2002-01-01 International Business Machines Corporation Method for customizing print attribute choices based on selected model, media, and printer
US20040113941A1 (en) * 2002-12-12 2004-06-17 Xerox Corporation User interface customization
JP4847212B2 (ja) * 2006-05-29 2011-12-28 キヤノン株式会社 情報処理装置、印刷制御方法、プログラム及びコンピュータ可読の記憶媒体
JP2008158989A (ja) * 2006-12-26 2008-07-10 Canon Inc Gui生成装置及びgui生成方法
KR101450640B1 (ko) * 2008-06-27 2014-10-14 교세라 가부시키가이샤 유저인터페이스생성장치
US8456702B2 (en) * 2010-03-02 2013-06-04 Xerox Corporation System and method for using a multi-function printer as a user interface for a print driver
US9007623B2 (en) * 2011-03-25 2015-04-14 Xerox Corporation System and method for enabling a mobile customizable EIP interface to access multi-function devices
US20150264423A1 (en) * 2014-03-11 2015-09-17 Telefonaktiebolaget L M Ericsson (Publ) Methods and systems for dynamic runtime generation of customized applications
JP6555966B2 (ja) * 2015-07-31 2019-08-07 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
US10521502B2 (en) * 2016-08-10 2019-12-31 International Business Machines Corporation Generating a user interface template by combining relevant components of the different user interface templates based on the action request by the user and the user context
US20190215380A1 (en) * 2018-01-09 2019-07-11 Vmware, Inc. Data driven user interfaces for device management

Also Published As

Publication number Publication date
US20230153127A1 (en) 2023-05-18
WO2021257110A1 (en) 2021-12-23

Similar Documents

Publication Publication Date Title
US9052799B2 (en) Image forming apparatus, customization control method and recording medium
US8786869B2 (en) Updateable printer driver, information processing apparatus, and computer-readable recording medium recording therein printer driver
JP5799698B2 (ja) 情報処理装置及びプログラム
JP2016058041A (ja) 情報処理装置、プログラム及び制御方法
US20150082222A1 (en) Information processing program product, information processing apparatus, and information processing system
JP2005338940A (ja) インストール方法、情報処理装置、及びデバイスドライバ
JP6295563B2 (ja) 情報処理システム、機器、情報処理方法、及び情報処理プログラム
JP5093266B2 (ja) 画像形成装置、同装置におけるプレビュー表示方法及び表示プログラム
JP2016110519A (ja) 情報処理装置、制御方法およびプログラム
JP4908731B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US10455101B2 (en) Server, image processing unit, and non-transitory recording medium for displaying error screen
JP5709429B2 (ja) 画像処理装置及びその制御方法、プログラム
US8719705B2 (en) Apparatus and method of controlling information processing apparatus, and recording medium storing controlling program
US11593087B2 (en) Electronic apparatus, information processing system, and information processing method
JP2013003625A (ja) 画像処理装置、画面更新方法及び画面更新プログラム
JP2017033052A (ja) 画像形成装置における制御装置およびプログラム
JP2017117235A (ja) 管理プログラム、管理システム、情報処理装置
US20230153127A1 (en) Displaying user interface using user interface definition file
JP2011180856A (ja) 画像形成装置及びプログラム
JP2012160129A (ja) 画像形成装置、編集制御方法及び編集制御プログラム
JP2015176532A (ja) プログラム、情報処理装置および情報処理システム
US10602011B2 (en) Image forming apparatus, information processing method, and program
JP2012059106A (ja) カスタマイズ装置、印刷システム、カスタマイズ方法およびカスタマイズプログラム
JP2010214725A (ja) 印刷装置及び印刷システムと、印刷装置の制御方法
JP6024782B2 (ja) 画像形成装置、カスタマイズ制御方法及びカスタマイズ制御プログラム