KR101531435B1 - 웹 인터페이스를 통한 다이내믹 그래픽의 작성 및 편집 - Google Patents

웹 인터페이스를 통한 다이내믹 그래픽의 작성 및 편집 Download PDF

Info

Publication number
KR101531435B1
KR101531435B1 KR1020107013927A KR20107013927A KR101531435B1 KR 101531435 B1 KR101531435 B1 KR 101531435B1 KR 1020107013927 A KR1020107013927 A KR 1020107013927A KR 20107013927 A KR20107013927 A KR 20107013927A KR 101531435 B1 KR101531435 B1 KR 101531435B1
Authority
KR
South Korea
Prior art keywords
dynamic graphic
dynamic
request
modified
graphic
Prior art date
Application number
KR1020107013927A
Other languages
English (en)
Other versions
KR20100110307A (ko
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 마이크로소프트 코포레이션
Publication of KR20100110307A publication Critical patent/KR20100110307A/ko
Application granted granted Critical
Publication of KR101531435B1 publication Critical patent/KR101531435B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • 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
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)

Abstract

본 명세서에서는 월드 와이드 웹("웹") 인터페이스를 통해 다이내믹 그래픽을 작성하고 편집하는 기술들이 설명된다. 클라이언트 컴퓨터들로부터 수신된 요청들에 응답하여 다이내믹 그래픽을 생성하기 위한 웹 서비스가 제공된다. 클라이언트 컴퓨터들로부터의 요청들에 응답하여, 웹 서비스는 요청된 다이내믹 그래픽을 생성하고 그 생성된 다이내믹 그래픽을 상기 요청들에 응답하여 클라이언트 컴퓨터들에 반환한다. 텍스트 항목들의 목록, 레이아웃 유형, 시각적 스타일, 컬러, 및 다이내믹 그래픽의 다른 양태들을 나타내는 파라미터들이 웹 서비스에 제공될 수 있다. 웹 브라우저 애플리케이션 내에 다이내믹 그래픽을 작성하고 편집하기 위한 사용자 인터페이스가 또한 제공된다.

Description

웹 인터페이스를 통한 다이내믹 그래픽의 작성 및 편집{CREATING AND EDITING DYNAMIC GRAPHICS VIA A WEB INTERFACE}
데스크톱 생산성 소프트웨어 애플리케이션들은 사용자들이 워드 프로세싱 문서, 스프레드 시트 문서, 프리젠테이션 문서, 및 다른 종류의 문서들을 작성할 수 있게 한다. 이러한 유형의 생산성 소프트웨어 애플리케이션들은 종종 또한 복잡한 그래픽을 작성하는 고급 기능을 제공한다. 예를 들면, 특정한 데스크톱 프리젠테이션 애플리케이션 프로그램들의 이용을 통하여, 사용자는 (SmartArtTM 그래픽으로도 불리는) 다이내믹 그래픽을 포함하는 프리젠테이션 문서들을 작성할 수 있다.
다이내믹 그래픽은 특정된 텍스트 데이터를 수용하기 위해 동적으로 추가되고, 위치 지정(position)되고, 크기 지정(size)되는 잠재적으로 무한한 수의 형상들을 포함한다. 예를 들면, 다이내믹 그래픽의 한 유형은 새로운 데이터 엘리먼트가 순서도에 추가될 때마다 새로운 형상들이 동적으로 추가되고, 크기 지정되고, 위치 지정되는 순서도 다이어그램이다. 다이내믹 그래픽은 사용자들이 텍스트 또는 수치 데이터를 포함하는 복잡하고 고도로 세련된 그래픽 다이어그램을 용이하게 작성할 수 있게 한다.
불행히도, 다이내믹 그래픽을 작성하는 능력은 이전에는 데스크톱 생산성 소프트웨어 애플리케이션들에 제한되었다. 만일 사용자가 다이내믹 그래픽을 작성할 수 있는 로컬로 설치된 소프트웨어 애플리케이션 프로그램을 갖고 있지 않다면, 사용자가 텍스트를 이용해 전문적으로 보이는 그래픽을 작성하는 것은 매우 어렵고 고된 프로세스일 수 있다. 사용자가 그래픽의 콘텐트, 레이아웃, 스타일, 컬러, 또는 다른 시각적 특징들을 변경하기 위해 그래픽을 수정하는 것은 마찬가지로 어려울 수 있다.
본 명세서에 작성된 개시 내용은 이들 고려 사항들 및 기타 고려 사항들에 관련하여 제시된다.
<발명의 개요>
본 명세서에서는 월드 와이드 웹("웹") 인터페이스를 통해 다이내믹 그래픽을 작성하고 편집하는 기술들이 설명된다. 특히, 본 명세서에 제시된 실시예들의 이용을 의하여, 다이내믹 그래픽은 데스크톱 생산성 소프트웨어 애플리케이션의 이용을 통하기보다는 웹 브라우저 애플리케이션 내에서 작성되고 편집될 수 있다. 이에 따라 사용자들은 다이내믹 그래픽을 작성할 수 있는 완비된(full-featured) 데스크톱 생산성 소프트웨어 애플리케이션이 이용 가능하지 않은 경우에도 다이내믹 그래픽을 작성하고 편집할 수 있다.
본 명세서에 제시된 일 양태에 따르면, 웹 기반 클라이언트들로부터 수신된 웹 서비스 요청들에 응답하여 다이내믹 그래픽을 생성하기 위한 웹 서비스가 제공되고 익스포즈(expose)된다. 특히, 상기 웹 서비스는 클라이언트 컴퓨터로부터 다이내믹 그래픽에 대한 요청을 수신하도록 구성된다. 그러한 요청에 응답하여, 상기 웹 서비스는 상기 요청된 다이내믹 그래픽을 생성하고 그 그래픽을 상기 클라이언트 컴퓨터에 반환한다.
다른 양태들에 따르면, 상기 웹 서비스에 의해 수신된 상기 요청은 상기 다이내믹 그래픽이 어떻게 생성되어야 할지를 특정하는 파라미터들을 포함한다. 예를 들면, 일 구현에서 상기 요청은 상기 다이내믹 그래픽에 대한 레이아웃 유형을 식별하는 데이터와 함께 텍스트 항목들의 목록을 포함한다. 상기 웹 서비스는 상기 텍스트 항목들의 목록 및 상기 레이아웃 유형을 식별하는 데이터를 이용하여 상기 요청된 다이내믹 그래픽을 생성한다. 예를 들면, 상기 특정된 레이아웃 유형에 따라 배열되는 상기 텍스트 항목들에 대응하는 형상들을 갖는 다이내믹 그래픽이 생성될 수 있다. 다른 양태들에 따르면, 상기 요청은 상기 다이내믹 그래픽에 대한 시각적 스타일 및 컬러들의 세트를 식별하는 파라미터들을 더 포함할 수 있다. 상기 웹 서비스는 이들 파라미터들을 이용하여 상기 요청에 의해 특정된 상기 시각적 스타일 및 컬러들로 상기 다이내믹 그래픽을 생성할 수 있다. 시각적 스타일은 상기 다이내믹 그래픽의 시각적 양태들을 정의하는 속성들의 컬렉션이다. 예를 들면, 스타일은 다이내믹 그래픽에 대한 컬러들의 세트, 시각적 효과, 서체(typefaces), 및 기타 속성들을 정의할 수 있다.
본 명세서에 제시된 다른 양태들에 따르면, 다이내믹 그래픽을 작성하기 위한 웹 인터페이스가 제공된다. 일 구현에서, 다이내믹 그래픽에 대한 텍스트 항목들의 목록 및 레이아웃 유형을 특정하기 위한 사용자 인터페이스가 웹 브라우저 애플리케이션 프로그램에 의하여 제공된다. 상기 다이내믹 그래픽을 생성하는 요청이 또한 상기 사용자 인터페이스를 통하여 수신될 수 있다. 그러한 요청을 수신하는 것에 응답하여, 상기 다이내믹 그래픽에 대한 요청이 상기 웹 서비스에 송신된다. 상기 요청은 상기 텍스트 항목들의 목록 및 상기 레이아웃 유형을 식별하는 파라미터들을 포함할 수 있다. 상기 요청된 다이내믹 그래픽은 그 후 상기 웹 서비스로부터 수신되고 상기 웹 브라우저에 의하여 디스플레이된다. 상기 사용자 인터페이스는 또한 상기 다이내믹 그래픽에 대한 시각적 스타일 및 컬러를 특정하기 위한 기능을 제공할 수 있다. 상기 다이내믹 그래픽은 또한 상기 사용자 인터페이스의 이용을 통하여 수정될 수 있다.
전술한 내용은 또한 컴퓨터 제어되는 장치, 컴퓨터 프로세스, 컴퓨팅 시스템으로서, 또는 컴퓨터 판독가능 매체와 같은 제조물로서 구현될 수 있다는 것을 알아야 한다. 이들 및 다양한 다른 특징들은 다음의 상세한 설명을 읽고 관련 도면들을 검토하는 것으로부터 명백해질 것이다.
이 개요는 아래 상세한 설명에서 더 설명되는 개념들 중 선택된 것을 단순화된 형태로 소개하기 위해 제공된다. 이 개요는 청구된 내용의 중요한 특징들 또는 본질적인 특징들을 식별하기 위해 의도된 것이 아니고, 이 개요가 청구된 내용의 범위를 제한하기 위해 이용될 것을 의도하지도 않는다. 또한, 청구된 내용은 이 개시 내용의 임의의 부분에서 지적된 임의의 또는 모든 불리점들을 해결하는 구현들에 제한되지 않는다.
도 1은 본 명세서에 제시된 실시예들에 의해 제공되는 예시적인 운영 환경 및 몇몇 소프트웨어 컴포넌트들의 양태들을 보여주는 네트워크 및 컴퓨터 아키텍처 다이어그램이다.
도 2-9는 다이내믹 그래픽을 작성하고 편집하기 위해 웹 브라우저 애플리케이션에 의해 생성된 예시적인 화면 디스플레이들을 보여주는 화면 다이어그램들이다.
도 10a-10b는 웹 인터페이스를 통해 다이내믹 그래픽을 작성하고 편집하기 위한 본 명세서에 제공된 하나의 예시적인 프로세스의 양태들을 보여주는 흐름도들이다.
도 11은 본 명세서에 제시된 실시예들의 양태들을 구현할 수 있는 컴퓨팅 시스템에 대한 예시적인 컴퓨터 하드웨어 및 소프트웨어 아키텍처를 보여주는 컴퓨터 아키텍처 다이어그램이다.
다음의 상세한 설명은 웹 인터페이스를 통해 다이내믹 그래픽을 작성하고 편집하기 위한 기술들에 관한 것이다. 다음의 상세한 설명에서는, 본 명세서의 일부를 형성하고, 특정한 실시예들 또는 예들이 예시로서 도시되어 있는 첨부 도면들이 참조된다. 이제 같은 번호들이 몇몇 도면들에 걸쳐서 같은 엘리먼트들을 나타내는, 도면들을 참조하여, 웹 인터페이스를 통해 다이내믹 그래픽을 작성하고 편집하기 위한 기술들이 설명될 것이다.
본 명세서에 설명된 내용은 컴퓨터 시스템 상의 운영 체제 및 애플리케이션 프로그램들의 실행과 관련하여 실행하는 프로그램 모듈들의 일반적인 관점에서 제시되지만, 숙련된 당업자들은 다른 유형의 프로그램 모듈들과 협력하여 다른 구현들이 수행될 수 있다는 것을 알 것이다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조, 및 다른 유형의 구조를 포함한다. 또한, 숙련된 당업자들은 본 명세서에 설명된 내용은 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능한 가전제품, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하는 다른 컴퓨터 시스템 구성들과 함께 실시될 수 있다는 것을 알 것이다.
이제 도 1을 참조하여, 본 명세서에 제시된 실시예들에 의해 제공되는 예시적인 운영 환경 및 몇몇 소프트웨어 컴포넌트들에 관한 상세한 설명이 제공될 것이다. 특히, 도 1은 웹 인터페이스를 통해 다이내믹 그래픽을 작성하고 편집하기 위한 기능을 제공할 수 있는 시스템(100)의 양태들을 보여준다. 시스템(100)은 클라이언트 컴퓨터(102) 및 서버 컴퓨터(104)를 포함한다. 도 1에 예시된 바와 같이, 클라이언트 컴퓨터(102) 및 서버 컴퓨터(104)는 네트워크(106)와 같은 하나 이상의 로컬 및 광역 네트워크를 통하여 상호 접속된다. 도 1에 예시된 것보다 더 많은 네트워크 접속들이 이용될 수 있다는 것을 알아야 한다.
일 실시예에서, 도 1에 예시된 클라이언트 컴퓨터(102)는 운영 체제 및 하나 이상의 애플리케이션 프로그램을 실행할 수 있는 표준 데스크톱 또는 랩톱 컴퓨터 시스템을 포함한다. 그러나, 다른 실시예들에서 클라이언트 시스템(102)은 다른 유형의 컴퓨팅 장치를 포함한다는 것을 알아야 한다. 예를 들면, 실시예들에 따르면, 클라이언트 컴퓨터(102)는 모바일 전화기, 스마트 폰, 울트라-모바일 퍼스널 컴퓨터, 태블릿 퍼스널 컴퓨터, 또는 다른 유형의 모바일 컴퓨팅 장치와 같은 모바일 컴퓨팅 장치를 포함할 수 있다. 다른 장치들도 유사한 방식으로 이용될 수 있다.
실시예들에 따르면 클라이언트 컴퓨터(102)는 프리젠테이션 애플리케이션(108)을 실행하도록 동작한다. 프리젠테이션 애플리케이션(108)은 프리젠테이션 문서들을 작성하기 위한 데스크톱 생산성 소프트웨어 애플리케이션을 포함한다. 예를 들면, 일 구현에서 프리젠테이션 애플리케이션(108)은 워싱턴주, 레드먼드의 마이크로소프트사로부터의 파워포인트(POWERPOINT) 프리젠테이션 애플리케이션을 포함한다. 프리젠테이션 애플리케이션(108)은 또한 프리젠테이션 문서에 포함시키기 위한 다이내믹 그래픽을 작성하기 위한 기능을 제공한다. 위에 간단히 논의된 바와 같이, 다이내믹 그래픽은 특정된 텍스트 또는 수치 데이터를 수용하기 위해 동적으로 추가되고, 위치 지정되고, 크기 지정되는 잠재적으로 무한한 수의 형상들을 포함하는 그래픽이다. 임의의 수의 텍스트 항목들(0...N)이 각 형상에 나타날 수 있다.
만일 클라이언트 컴퓨터(102)가 프리젠테이션 애플리케이션(108)을 포함하도록 구성되지 않는다면, 클라이언트 컴퓨터(102)의 사용자가 다이내믹 그래픽을 포함하는 프리젠테이션 문서들을 작성하는 것은 어렵거나 불가능할 수 있다. 이러한 어려움을 해결하기 위하여, 본 명세서에 제시된 실시예들은 프리젠테이션 애플리케이션 컴패니언(presentation application companion) 웹 사이트(116) ("웹 사이트")를 제공한다. 웹 사이트(116)는 프리젠테이션 애플리케이션(108)에 컴패니언 기능을 제공하는 서버 기반 애플리케이션이다. 특히, 웹 사이트(116)에 의해 제공되는 애플리케이션은 클라이언트 컴퓨터(102) 상에서 실행하는 표준 웹 브라우저 애플리케이션 프로그램(110)("웹 브라우저")의 이용을 통하여 프리젠테이션 문서들을 작성하기 위한 기능을 포함한다. 비록 웹 사이트(116)는 본 명세서에서 공중 인터넷을 통하여 액세스 가능한 것으로 기술되지만, 웹 사이트(116)는 또한 사설 내부 웹 사이트 상에서 이용 가능하게 될 수도 있다는 것을 알아야 한다. 또한, 웹 사이트(116)는 본 명세서에서 설명된 웹 브라우저(110)를 통하여 또는 웹 사이트(116)를 요청하고 렌더링할 수 있는 다른 클라이언트 애플리케이션의 이용을 통하여 액세스 가능할 수 있다.
웹 사이트(116)는 또한 웹 인터페이스를 통해 프리젠테이션 문서 내에 다이내믹 그래픽을 작성하고 편집하기 위한 기능을 제공한다. 비록 본 명세서에 제시된 실시예들은 프리젠테이션 문서들을 작성하고 편집하기 위한 기능을 제공하는 웹 사이트(116)의 관점에서 논의되지만, 다이내믹 그래픽을 생성하기 위한 본 명세서에 제시된 개념들 및 기술들은 그러한 환경에 제한되지 않는다는 것을 알아야 한다. 오히려, 다이내믹 그래픽을 생성하기 위한 본 명세서에 제시된 개념들 및 기술들은 사실상 임의의 목적을 위해 구성된 임의의 유형의 웹 사이트와 함께 또는 다른 유형의 애플리케이션들과 함께 이용될 수 있다.
서버 컴퓨터(104)는 본 명세서에 설명된 웹 사이트(116)를 제공한다. 서버 컴퓨터(104)는 운영 체제 및 하나 이상의 다른 프로그램을 실행할 수 있는 표준 서버 컴퓨터 시스템을 포함한다. 특히, 본 명세서에 제시된 실시예들에서 서버 컴퓨터(104)는 웹 사이트(116) 및 그의 컴포넌트 리소스들에 대한 요청들을 수신하고 그 요청들에 응답하도록 구성되는 웹 서버 애플리케이션(114)을 실행한다. 웹 서비스(118)도 웹 사이트(116)의 제공과 관련하여 서버 컴퓨터(104) 상에서 실행된다. 아래 더 상세히 설명되는 바와 같이, 웹 서비스(118)는 웹 브라우저(110)로부터 수신된 요청들에 응답하여 다이내믹 그래픽을 생성하기 위한 기능을 제공한다. 이에 관련하여, 웹 브라우저(110)는 클라이언트 측 코드(112)를 실행할 수 있다. 클라이언트 측 코드(112)는 웹 사이트(116) 및 웹 서비스(118)와 함께 본 명세서에 설명된 사용자 인터페이스 기능을 제공하도록 동작한다. 클라이언트 측 코드(112)는 웹 페이지의 디스플레이와 함께 클라이언트 측 코드를 실행하기 위한 자바스크립트(JAVASCRIPT) 또는 다른 적합한 기술을 포함할 수 있다. 웹 사이트(116) 및 웹 서비스(118)에 의해 제공되는 기능에 관한 추가적인 상세들은 도 2-10b에 관하여 아래에 제공된다.
도 2-9는 본 명세서에 제시된 다양한 실시예들에서 웹 브라우저(110)에 의해 제공되는 예시적인 화면 디스플레이들을 보여주는 화면 다이어그램들이다. 이제 도 2를 참조하여, 일 실시예에서 웹 사이트(116)에 의해 제공되는 기능에 관한 추가적인 상세들이 제시될 것이다. 도 2에 도시된 화면 디스플레이(200A)는 웹 브라우저(110)에 의해 생성된 웹 사이트(116)의 렌더링을 예시한다. 특히, 웹 브라우저(110)에 의해 생성된 화면 디스플레이(200A)는 프리젠테이션 슬라이드(202)("슬라이드")를 작성하고 편집하기 위한 사용자 인터페이스들을 포함한다. 일 구현에서, 웹 사이트(116)를 이용하여 작성된 슬라이드들에 대응하는 섬네일 이미지들("섬네일들")(204A-204C)이 나타내어져 있다. 예를 들면, 섬네일(204A)은 디스플레이된 슬라이드(202)에 대응한다. 섬네일들(204B-204C)은 웹 브라우저(110)에 의해 나타내어지지 않은 슬라이드들에 대응한다.
슬라이드(202)는 텍스트, 정적인 그래픽, 테이블, 비디오, 사운드, 애니메이션, 및 다른 유형의 멀티미디어 콘텐트를 포함하지만, 이들에 제한되지 않는 임의의 유형의 콘텐트를 실질적으로 포함할 수 있다. 사용자 인터페이스 버튼들(206A, 206B, 및 206D)은 각각 테이블, 그림, 또는 텍스트 상자를 삽입하기 위해 적절한 사용자 입력 장치를 이용하여 선택될 수 있다. 개체 틀(placeholder)(210)은 일 실시예에서 새로 삽입된 개체가 배치될 슬라이드(202) 상의 위치를 정의하기 위해 제공된다. 다른 실시예들에 따르면, 새로운 개체들은 개체 틀(210)의 이용 없이 슬라이드(202) 상의 임의의 위치에 자유로이 삽입될 수 있다. 웹 사이트(116)는 또한 프리젠테이션 슬라이드들을 설계하고, 편집하고, 검토하고, 공유하기 위한 본 명세서에 더 예시되거나 설명되지 않은 다른 적합한 사용자 인터페이스들을 제공할 수 있다.
실시예들에 따르면, 프리젠테이션 슬라이드(202)는 또한 다이내믹 그래픽을 포함할 수 있다. 이에 관련하여, 선택될 때, 개체 틀(210)의 위치에 새로운 다이내믹 그래픽을 배치하기 위한 프로세스를 시작할 사용자 인터페이스 버튼(206C)이 제공된다. 예를 들면, 도 2에 도시된 바와 같이, 사용자는 이 프로세스를 시작하기 위해 마우스 커서(212) 또는 다른 적합한 사용자 입력 장치를 이용하여 사용자 인터페이스 버튼(206C)을 선택할 수 있다. 그러한 선택을 수신하면, 새로운 다이내믹 그래픽에 대한 이용 가능한 레이아웃 유형들을 식별하는 데이터에 대한 요청이 웹 서비스(118)에 송신된다. 그 후 이용 가능한 레이아웃 유형들은 디스플레이되고 사용자는 새로운 다이내믹 그래픽에 대한 이용 가능한 레이아웃 유형들 중 하나를 선택하도록 허용된다. 이 프로세스에 관한 추가적인 상세들은 도 3에 관련하여 아래 제공된다.
이제 도 3을 참조하여, 새로운 다이내믹 그래픽을 슬라이드(202) 상에 삽입하기 위한 하나의 프로세스에 관한 추가적인 상세들이 설명될 것이다. 특히, 도 3은 사용자 인터페이스 버튼(206C)의 선택에 이어서 웹 브라우저(110)에 의해 생성된 화면 디스플레이(200B)를 보여준다. 위에 간단히 언급된 바와 같이, 사용자 인터페이스 버튼(206C)의 선택은 새로운 다이내믹 그래픽에 대한 이용 가능한 레이하웃 유형들을 식별하는 데이터에 대한 요청이 웹 서비스(118)에 송신되게 할 것이다. 레이아웃은 다이내믹 그래픽 내의 형상들이 배치될 방법을 정의한다. 예를 들면, 이용 가능한 다이어그램 유형들은 프로세스 다이어그램, 목록 다이어그램, 계층 구조 다이어그램, 관계 다이어그램, 행렬 다이어그램, 피라미드 다이어그램 등을 포함할 수 있다.
이용 가능한 레이아웃 유형들에 대한 요청들을 수신하는 것에 응답하여, 웹 서비스(118)는 일 실시예에서 이용 가능한 레이아웃들에 대응하는 섬네일들(302A-302F)을 반환한다. 섬네일들(302A-302F)은 웹 브라우저(110)에 의해 대화 상자(300)에 디스플레이되고 사용자 선택을 위해 이용 가능하게 된다. 섬네일(302A)은 피라미드 다이어그램에 대응하고, 섬네일들(302B-302D)은 주기형 다이어그램(cycle diagram)에 대응하고, 섬네일(302C)은 프로세스 다이어그램에 대응하고, 섬네일(302E)은 계층 구조 다이어그램에 대응하고, 섬네일(302F)은 목록 다이어그램에 대응한다. 다른 유형의 레이아웃들이 제공될 수도 있다.
이용 가능한 레이아웃 유형들 중 하나에 대응하는 다이내믹 그래픽을 슬라이드(202) 상에 삽입하기 위하여, 사용자는 적절한 사용자 입력 장치를 이용하여 섬네일들(302A-302F) 중 하나를 선택할 수 있다. 예를 들면, 도 3에 도시된 바와 같이, 마우스 커서(212)를 이용하여 섬네일(302C)이 선택될 수 있다. 이것은 프로세스 다이어그램 레이아웃을 갖는 다이내믹 그래픽이 슬라이드(202) 상에 삽입되게 한다. 사용자는 사용자 인터페이스 버튼(206E)을 선택하여 새로운 다이내믹 그래픽의 삽입을 완료할 수 있고 또는 사용자 인터페이스 버튼(206F)을 선택하여 삽입 프로세스를 취소하고 도 2에 도시된 화면 디스플레이(200A)로 되돌아갈 수 있다. 일단 새로운 다이내믹 그래픽이 슬라이드(202) 상에 배치되면, 다이내믹 그래픽을 편집하고 다른 식으로 수정하기 위한 사용자 인터페이스들이 제공된다. 이에 관한 상세들은 도 4-9에 관련하여 아래 제공된다.
이제 도 4를 참조하여, 새로 삽입된 다이내믹 그래픽(402)을 편집하기 위한 본 명세서에 제공된 사용자 인터페이스들에 관한 추가적인 상세들이 설명될 것이다. 특히, 도 4는 슬라이드(202) 상에 새로운 다이내믹 그래픽(402)의 삽입에 이어서 웹 브라우저(110)에 의해 생성된 화면 디스플레이(200C)를 보여준다. 다이내믹 그래픽(402)은 도 3에 관련하여 위에 논의된 바와 같이 사용자에 의한 원하는 레이아웃 유형의 선택에 이어서 웹 서비스(118)에 의해 생성되었다. 다이내믹 그래픽(402)을 생성하기 위한 웹 브라우저(110)와 웹 서비스(118) 사이의 통신에 관한 상세들은 도 10a-10b에 관련하여 아래 제공된다.
도 4에 도시된 예시적인 다이내믹 그래픽(402)은 형상들(404A-404C)을 포함하는 프로세스 다이어그램이다. 그 형상들(404A-404C) 각각의 안에 각각 텍스트 항목들(406A-406C)이 또한 제공된다. 새로운 다이내믹 그래픽이 작성될 때 형상들(404A-404C) 각각에 기본 개체 틀 텍스트(default placeholder text)가 삽입된다. 일 실시예에서, 사용자는 적절한 사용자 입력 장치를 이용하여 텍스트를 선택하고 새로운 텍스트를 입력하는 것에 의해 직접 텍스트 항목들(406A-406C)을 편집할 수 있다. 대안적으로, 텍스트를 편집하고, 새로운 형상들을 추가하고, 형상들의 순서를 배열하고, 다른 기능들을 수행하기 위한 다른 사용자 인터페이스가 제공될 수 있다. 그러한 인터페이스는 마우스 커서(212)와 같은 적절한 사용자 입력 메커니즘을 이용한 사용자 인터페이스 탭(408B) 또는 사용자 인터페이스 버튼(206G)의 선택에 응답하여 디스플레이될 수 있다. 하나의 그러한 사용자 인터페이스는 도 5-6에 관련하여 아래 상세히 설명된다. 도 5-6에 도시되고 아래 설명되는 사용자 인터페이스를 이용한 다이내믹 그래픽(402)의 편집에 이어서, 사용자는 사용자 인터페이스 탭(408A)을 선택하는 것에 의해 도 4에 도시된 사용자 인터페이스로 되돌아갈 수 있다.
실시예들에 따르면, 다이내믹 그래픽(402)의 레이아웃을 수정하기 위한, 다이내믹 그래픽(402)의 컬러를 변경하기 위한, 및 다이내믹 그래픽(402)의 시각적 스타일을 수정하기 위한 사용자 인터페이스들이 제공될 수도 있다. 예를 들면, 일 실시예에서, 사용자 인터페이스 버튼들(302A-302C)은 이용 가능한 레이아웃 유형들의 섬네일들을 디스플레이하기 위해 이용될 수 있다. 사용자 인터페이스 버튼들(302A-302C) 중 하나의 선택은 선택된 사용자 인터페이스 버튼에 대응하는 레이아웃 유형에 따라서 다이내믹 그래픽(402)이 리포맷(reformat)되게 할 것이다. 웹 서비스(118)에의 호출은 수정된 다이내믹 그래픽(402)을 반환한다.
다른 실시예들에 따르면, 클라이언트 측 코드(112)는 마우스 커서(212)의 위치를 모니터할 수 있다. 만일 마우스 커서(212)가 사용자 인터페이스 버튼들(302A-302C) 중 하나 위에 "호버(hover)"한다면, 업데이트된 다이내믹 그래픽(402)에 대하여 웹 서비스(118)에 호출이 행해진다. 그 후 다이내믹 그래픽(402)은 사용자 인터페이스 버튼들(302A-302C)에 대응하는 레이아웃들의 라이브 프리뷰(live preview)를 제공하도록 사용자에게 디스플레이될 수 있다. 다이내믹 그래픽(402)의 레이아웃 유형의 수정에 관한 추가적인 상세들은 도 8에 관련하여 아래 제공될 것이다.
사용자 인터페이스 버튼들(410A-410C)은 다이내믹 그래픽(402)의 시각적 스타일을 수정하기 위해 버튼들(302A-302C)과 유사한 방식으로 이용될 수 있다. 예를 들면, 다이내믹 그래픽(402)의 소재(material), 3차원 속성, 윤곽선(outline) 속성, 채우기(fill) 속성, 및 음영(shadow)을 수정하기 위한 버턴들(410A-410C)의 선택을 통하여 스타일들이 적용될 수 있다. 다른 시각적 양태들이 유사한 방식으로 수정될 수 있다. 이용 가능한 스타일들의 라이브 프리뷰가 또한 위에 설명된 방식으로 제공될 수 있다. 다수의 이용 가능한 레이아웃 유형들 및 스타일들을 사용자에게 보여주기 위해 다른 사용자 인터페이스 컨트롤들이 또한 제공될 수 있다는 것을 알아야 한다. 선택될 때, 다이내믹 그래픽(402)을 그것의 최초의 시각적 상태로 리셋할 사용자 인터페이스 버튼(206I)이 또한 제공될 수 있다. 다이내믹 그래픽(402)의 시각적 스타일의 수정에 관한 추가적인 상세들은 도 9에 관련하여 아래 제공될 것이다.
이제 도 5를 참조하여, 텍스트 항목들(406A-406C)을 편집하고, 새로운 형상들을 추가하고, 형상들의 순서를 배열하고, 다른 기능들을 수행하는 것을 포함하여, 다이내믹 그래픽(402)을 편집하기 위한 본 명세서에 제공된 하나의 사용자 인터페이스에 관한 추가적인 상세들이 제공될 것이다. 특히, 도 5는 마우스 커서(212)와 같은 적절한 사용자 입력 장치를 이용한 사용자 인터페이스 탭(408B)의 사용자에 의한 선택에 이어서 웹 브라우저(110)에 의해 생성된 화면 다이어그램(200D)을 보여준다.
도 5에 예시된 사용자 인터페이스는 다이내믹 그래픽(402) 내의 형상들(404A-404C)에 대응하는 텍스트 항목들(406A-406C) 모두를 보여주는 목록(504)을 포함한다. 목록(504)의 콘텐트는 적절한 다이내믹 그래픽(402)을 레이아웃하고 렌더링하기 위해 웹 서비스(118)에 의해 이용된다. 예를 들면, 도 5에 나타내어진 예시적인 목록(504)은 3개의 텍스트 항목들(406A-406C)을 포함한다. 그 결과, 목록(504)에 기초하여 생성된 다이내믹 그래픽(402)은 3개의 형상들(404A-404C)을 포함할 것이고, 각 형상은 각각 텍스트 항목들(406A-406C) 중 하나를 포함한다.
목록(504)에 새로운 텍스트 항목의 추가는 시각적으로 적절한 방식으로 다이내믹 그래픽(402)에 추가적인 형상이 추가되게 할 것이다. 목록(504)으로부터 텍스트 항목들(406A-406C) 중 하나의 제거는 남아 있는 텍스트 항목들에 대응하는 형상들의 레이아웃이 적절히 조정되게 할 것이다. 이런 식으로 다이내믹 그래픽에서 형상들을 배치하는 하나의 메커니즘은 본 특허 출원의 양수인에게 양도되고 온전히 그대로 본 명세서에 참고로 명백히 통합된, 2006년 9월 21일에 공개된, "METHOD AND COMPUTER-READABLE MEDIUM FOR GENERATING GRAPHICS HAVING A FINITE NUMBER OF DYNAMICALLY SIZED AND POSITIONED SHAPES"라는 명칭의, 미국 특허 공개 번호 US2006/0209093A1에 설명되어 있다.
실시예들에 따르면, 텍스트 항목들(406A-406C)은 그것의 콘텐트를 변경하기 위해 직접 선택되고 편집될 수 있다. 예를 들면, 도 6에 예시된 일례에서, 기본 텍스트는 텍스트 항목들(406A-406C)에 대하여 각각 사용자 지정 텍스트 "DEPLOY", "SERVICE", 및 "UPGRADE"로 대체되었다. 사용자가 사용자 인터페이스 탭(408A)을 선택하여 다이내믹 그래픽(402)의 뷰로 되돌아가면, 도 7에 예시된 바와 같이 다이내믹 그래픽(402)에 사용자 지정된 텍스트 항목들(406A-406C)이 반영된다. 실시예들에 따르면, 선택될 때, 목록(504)에 대한 수정들이 다이내믹 그래픽에 적용되게 할 사용자 인터페이스 버튼(206N)이 또한 제공될 수 있다. 사용자 인터페이스 버튼(206P)은 목록(504)에 대한 임의의 수정들을 취소하기 위해 선택될 수 있다. 아래 더 상세히 설명되는 바와 같이, 도 7에 도시된 업데이트된 다이내믹 그래픽(402)을 생성하기 위해 수정된 텍스트 항목들(406A-406C)을 이용하여 웹 서비스(118)에 웹 서비스 호출이 수행된다. 다른 실시예에서, 웹 서비스(118)는 목록(504)에 대한 수정들을 수정들이 행해지는 때 실시간으로 처리하기 위해 호출된다. 이런 식으로, 목록(504) 및 다이내믹 그래픽(402)은 실시간으로 업데이트된다. 목록(504)에 대한 수정들은 그것들이 행해질 때 처리되기 때문에, 이 실시예에서 사용자 인터페이스 버튼(206N)은 이용되지 않는다.
다른 양태들에 따르면, 도 5에 예시된 사용자 인터페이스는 또한 목록(504)에서 텍스트 항목들(406A-406C)의 순서를 수정하기 위한 기능을 제공한다. 예를 들면, 일 실시예에서 사용자 인터페이스 버튼(206J)은 목록(504)에서 선택된 텍스트 항목(406)을 승격(promote)하기 위하여 선택될 수 있다. 사용자 인터페이스 버튼(206K)은 유사하게 목록(504)에서 선택된 텍스트 항목(206)을 강등시키기 위하여 선택될 수 있다. 텍스트 항목들(406A-406C)의 순서에 대한 수정들은 다이내믹 그래픽(402)에 반영될 것이다.
실시예들에 따르면, 사용자 인터페이스 버튼(206L)은 또한 목록(504)에 새로운 텍스트 항목을 추가하기 위해 선택될 수 있고, 사용자 인터페이스 버튼(206M)은 목록(504)으로부터 텍스트 항목을 제거하기 위해 선택될 수 있다. 위에 논의된 바와 같이, 이들 수정들은 웹 서비스(118)에의 웹 서비스 호출을 통하여 다이내믹 그래픽(402)에 반영된다. 그러한 호출에 응답하여, 웹 서비스(118)는 새로운 다이내믹 그래픽(402)을 생성한다. 이 프로세스에 관한 추가적인 상세들은 도 10a-10b에 관련하여 아래 제공된다.
이제 도 8을 참조하여, 다이내믹 그래픽(402)의 레이아웃 유형을 수정하기 위한 본 명세서에 개시된 하나의 사용자 인터페이스에 관한 추가적인 상세들이 제공될 것이다. 특히, 도 8은 다이내믹 그래픽(402)의 레이아웃 유형을 수정하기 위한 본 명세서에 제공된 기능을 예시하는 웹 브라우저(110)에 의해 생성된 화면 디스플레이(200G)이다. 위에 간단히 논의된 바와 같이, 사용자 인터페이스 버튼들(302A-302C)은 이용 가능한 레이아웃 유형들의 섬네일들을 디스플레이하기 위해 이용될 수 있다. 사용자 인터페이스 버튼들(302A-302C) 중 하나의 선택은 선택된 사용자 인터페이스 버튼에 대응하는 레이아웃 유형에 따라서 다이내믹 그래픽(402)이 리포맷되게 할 것이다.
도 8에 도시된 일례에서, 사용자 인터페이스 버튼(302B)은 마우스 커서(212)를 이용하여 선택되었다. 그러한 선택에 응답하여, 사용자 인터페이스 버튼(302B)에 나타내어진 섬네일에 대응하는 레이아웃 유형으로 다이내믹 그래픽(402)을 재생성하기 위해 웹 서비스(118)에 웹 서비스 호출이 행해진다. 이 예에서, 다이내믹 그래픽(402)에 대한 레이아웃 유형은 이전에 나타내어진 프로세스 다이어그램으로부터 도 8에 도시된 주기형 다이어그램으로 변경되었다. 그 결과, 형상들(406A-406C)은 원들로 변경되고, 크기 조정(resize)되고, 위치 조정(reposition)되었다. 형상들(406A-406C) 각각 내의 텍스트 항목들(404A-404C)은 여전히 동일하다. 이 수정은 사용자 인터페이스 버튼(302B)의 선택에 이어서 웹 서비스(118)에의 호출을 통하여 달성된다. 이 프로세스에 관한 추가적인 상세들은 도 10a-10b에 관련하여 아래 제공될 것이다.
이제 도 9를 참조하여, 다이내믹 그래픽(402)의 시각적 스타일을 수정하기 위한 본 명세서에 제공된 하나의 사용자 인터페이스에 관한 추가적인 상세들이 제공될 것이다. 특히, 도 9는 다이내믹 그래픽(402)의 시각적 스타일을 수정하기 위한 본 명세서에 제공된 기능을 예시하는 웹 브라우저(110)에 의해 생성된 화면 디스플레이(200H)이다. 위에 간단히 논의된 바와 같이, 사용자 인터페이스 버튼들(410A-410C)은 다이내믹 그래픽(402)에 대한 상이한 시각적 스타일들에 대응하는 섬네일들을 디스플레이하기 위해 이용될 수 있다. 사용자 인터페이스 버튼들(410A-410C) 중 하나의 선택은 선택된 사용자 인터페이스 버튼에 대응하는 시각적 스타일에 따라서 다이내믹 그래픽(402)이 리포맷되게 할 것이다.
도 9에 도시된 예에서, 사용자 인터페이스 버튼(410A)은 마우스 커서(212)를 이용하여 선택되었다. 그러한 선택에 응답하여, 사용자 인터페이스 버튼(410A)에 나타내어진 섬네일에 대응하는 시각적 스타일로 다이내믹 그래픽(402)을 재생성하기 위해 웹 서비스(118)에 웹 서비스 호출이 행해진다. 이 예에서, 각각의 형상들(404A-404C)에 대한 시각적 스타일이 수정되었다. 다이내믹 그래픽 내의 형상들 모두, 또는 개별적으로 하나의 형상의 컬러가 유사한 방식으로 수정될 수 있다는 것을 알아야 한다. 다이내믹 그래픽(402)의 시각적 스타일을 수정하기 위한 웹 서비스(118)의 통신에 관한 추가적인 상세들은 도 10a-10b에 관련하여 아래 제공될 것이다.
이제 도 10a-10b를 참조하여, 웹 서비스를 통해 다이내믹 그래픽을 작성하고 편집하기 위한 본 명세서에 제시된 실시예들에 관한 추가적인 상세들이 제공될 것이다. 특히, 도 10a-10b는 웹 인터페이스를 통해 다이내믹 그래픽을 작성하고 편집하기 위한 본 명세서에 설명된 기능을 제공하기 위한 클라이언트 컴퓨터(102) 및 서버 컴퓨터(104)의 동작의 양태들을 함께 예시하는 루틴(1000) 및 루틴(1050)을 보여주는 흐름도들이다. 루틴(1000)은 이에 관련하여 클라이언트 컴퓨터(102)의 동작을 예시하는 한편 루틴(1050)은 서버 컴퓨터(104)의 동작을 예시한다. 루틴들(1000 및 1050)은 본 명세서에서 함께 논의된다.
본 명세서에 설명된 논리적 동작들은 (1) 컴퓨팅 시스템 상에서 실행하는 일련의 컴퓨터 구현된 액트(act)들 또는 프로그램 모듈들로서 및/또는 (2) 컴퓨팅 시스템 내의 상호 접속된 기계 논리 회로들 또는 회로 모듈들로서 구현된다는 것을 알아야 한다. 그 구현은 컴퓨팅 시스템의 성능 및 기타 요건에 의존하는 선택의 문제이다. 따라서, 본 명세서에 설명된 논리적 동작들은 상태 동작들, 구조적 장치들, 액트들, 또는 모듈들로서 다양하게 불린다. 이들 동작들, 구조적 장치들, 액트들 및 모듈들은 소프트웨어로, 펌웨어로, 특수 용도의 디지털 로직으로, 및 이들의 임의의 조합으로 구현될 수 있다. 또한 도면들에 도시되고 본 명세서에 설명된 것보다 더 많은 또는 더 적은 수의 동작들이 수행될 수 있다는 것도 알아야 한다. 이들 동작들은 또한 본 명세서에 설명된 것들과 다른 순서로 수행될 수도 있다.
루틴(1000)은 동작 1002에서 시작되고, 거기서는 클라이언트 컴퓨터(102) 상에서 실행하는 웹 브라우저(110)가 서버 컴퓨터(104)로부터 웹 사이트(116)의 페이지를 요청한다. 서버 컴퓨터(104)는 루틴(1050)의 동작 1052에서 그 요청을 수신한다. 서버 컴퓨터(104)는 루틴(1050)의 동작 1054에서 상기 요청된 페이지를 웹 브라우저(110)에 반환한다. 클라이언트 컴퓨터(102)는 동작 1004에서 웹 사이트(116)의 페이지를 수신하고 그 페이지를 렌더링한다. 페이지의 렌더링에 이어서 웹 브라이저(110)에 의해 제공되는 화면 디스플레이는 도 2에 관련하여 위에 설명된 화면 디스플레이(200A)와 유사한 것처럼 보일 수 있다.
동작 1004로부터, 루틴(1000)은 동작 1006으로 계속되고, 거기서는 웹 브라우저(110)가 새로운 다이내믹 그래픽(402)을 슬라이드(202)에 삽입하는 요청을 수신한다. 도 2-3에 관련하여 위에 논의된 바와 같이, 그러한 요청은 사용자 인터페이스 버튼(206C)의 사용자 선택의 형태로 올 수 있다. 그러한 요청을 수신하는 것에 응답하여, 웹 브라우저(110)는 새로운 다이내믹 그래픽(402)에 대한 이용 가능한 레이아웃 유형들을 식별하는 데이터에 대하여 웹 서비스(118)에 요청을 송신한다. 위에 논의된 바와 같이, 일 구현에서 웹 서비스(118)는 그러한 요청에 응답하여 새로운 다이내믹 그래픽(402)에 대한 이용 가능한 레이아웃 유형들을 그래픽으로 예시하는 섬네일들(302A-302F)을 제공한다. 웹 서비스(118)는 이 요청을 수신하고 루틴(1050)의 동작들 1056 및 1058에서 각각 섬네일들을 반환한다. 섬네일들(302A-302F) 각각은 대응하는 레이아웃 유형을 고유하게 식별하는 파라미터와 관련될 수 있다.
동작 1010에서는, 웹 브라우저(110)가 섬네일들(302A-302F)을 수신하고 도 3에 관련하여 위에 논의된 대화 상자(300)를 디스플레이한다. 그 후 동작 1012에서 이용 가능한 레이아웃 유형들 중 하나의 선택이 사용자로부터 수신된다. 예를 들면, 사용자는 마우스 커서(212)를 이용하여 원하는 레이아웃 유형에 대응하는 섬네일(302A-302F)을 선택할 수 있다. 이 프로세스는 도 3에 관련하여 위에 상세히 논의되어 있다. 동작 1012로부터, 루틴(1000)은 도 10b에 예시된 동작 1014로 계속된다.
동작 1014에서는, 웹 브라우저(110)가 다이내믹 그래픽(402)에 대하여 웹 서비스(118)에 요청을 송신한다. 실시예들에 따르면, 몇몇 파라미터들이 요청과 함께 포함된다. 예를 들면, 요청은 다이내믹 그래픽(402)을 생성하기 위해 이용되는 텍스트 항목들(406A-406C)의 목록(502)을 포함할 수 있다. 다이내믹 그래픽에 대한 선택된 레이아웃 유형을 식별하는 데이터가 또한 요청에서 송신될 수 있다. 위에 논의된 바와 같이, 웹 서비스(118)는 이 데이터를 이용하여, 목록(502)에서 텍스트 항목들(406A-406C) 각각에 대응하는 형상들을 포함하여, 특정된 레이아웃 유형으로 다이내믹 그래픽(1014)을 배치하고 렌더링한다. 다른 실시예들에 따르면, 다이내믹 그래픽(402)에 대한 스타일 및 컬러를 식별하는 데이터를 포함하여, 추가적인 파라미터들이 또한 요청과 함께 포함될 수 있다. 웹 서비스(118)는 마찬가지로 이들 파라미터들을 이용하여 원하는 시각적 스타일 및 컬러로 다이내믹 그래픽(402)을 생성한다.
웹 서비스(118)는 루틴(1050)의 동작 1060에서 다이내믹 그래픽(402)에 대한 요청을 수신한다. 요청을 수신하는 것에 응답하여, 웹 서비스(118)는 위에 설명된 방식으로 동작 1062에서 다이내믹 그래픽(402)을 배치하고 렌더링한다. 렌더링된 다이내믹 그래픽(402)은 루틴(1050)의 동작 1064에서 요청에 대한 응답으로 웹 브라우저(110)에 반환된다. 다이내믹 그래픽(402)은 PNG(Portable Network Graphics) 포맷과 같은, 웹에서의 송신을 위해 적합한 표준 그래픽 파일 포맷을 이용하여 렌더링될 수 있다는 것을 알아야 한다.
웹 브라우저(110)는 동작 1016에서 다이내믹 그래픽(402)을 수신하고 도 2-9에 관련하여 위에 설명된 바와 같이 다이내믹 그래픽(402)을 디스플레이한다. 루틴(1000)은 그 후 동작 1020으로 계속되고, 거기서는 클라이언트 측 코드(112)가 그래픽에 포함된 텍스트 항목들의 수정 또는 다이내믹 그래픽(402)의 레이아웃, 스타일, 또는 컬러에 대한 수정과 같은, 다이내믹 그래픽을 수정하는 요청이 행해졌는지를 결정한다. 다이내믹 그래픽(402)의 이들 양태들을 수정하기 위한 사용자 인터페이스들은 도 4-9에 관련하여 위에 설명되어 있다.
만일, 동작 1020에서, 다이내믹 그래픽(402)이 수정되었다고 결정되면, 루틴(1000)은 동작 1022로 계속되고 거기서는 다이내믹 그래픽(402)에 대하여 웹 서비스(118)에 제2 요청이 송신된다. 제2 요청은 다이내믹 그래픽(402)에 대한 수정들에 대응하는 파라미터들을 포함한다. 예를 들면, 만일 다이내믹 그래픽(402)의 레이아웃이 수정되었다면, 동작 1022에서 송신된 요청은 다이내믹 그래픽(402)에 대한 수정된 레이아웃 유형을 식별하는 데이터를 포함할 것이다. 유사하게, 만일 텍스트 항목들(406A-406C)의 목록(504), 또는 다이내믹 그래픽(402)의 스타일, 또는 컬러가 수정되었다면, 동작 1022에서 송신된 요청은 수정된 텍스트 항목들의 목록, 수정된 스타일을 식별하는 데이터, 및/또는 수정된 컬러를 식별하는 데이터를 각각 포함할 것이다. 그러한 요청은 다이내믹 그래픽(402)에 대한 수정이 행해질 때마다 웹 서비스(118)에 송신될 수 있다. 대안적으로, 네트워크 대역폭을 절약하기 위해 일련의 수정들이 모두 한번에 기록되고 웹 서비스(118)에 송신될 수 있다.
웹 서비스(118)는 루틴(1050)의 동작 1066에서 다이내믹 그래픽(402)에 대한 제2 요청을 수신한다. 그 요청을 수신하는 것에 응답하여, 웹 서비스(118)는 위에 설명된 방식으로 동작 1068에서 수정된 다이내믹 그래픽(402)을 배치하고 렌더링한다. 웹 서비스(118)는 그 후 루틴(1050)의 동작 1070에서 요청에 응답하여 렌더링된 다이내믹 그래픽(402)을 웹 브라우저(110)에 반환한다. 동작 1070으로부터, 루틴(1050)은 동작 1072로 계속되고, 거기서 종료한다.
루틴(1000)의 동작 1024에서는, 웹 브라우저(110)가 수정된 다이내믹 그래픽을 수신하고 디스플레이한다. 루틴(1000)은 그 후 동작 1026으로 계속되고, 거기서는 다이내믹 그래픽(402)에 대해 추가적인 수정들이 행해졌는지에 대한 결정이 행해진다. 만일 그렇다면, 루틴(1000)은 위에 설명된 동작 1022로 되돌아가고, 거기서는 다이내믹 그래픽(402)에 대하여 웹 서비스(118)에 추가적인 요청들을 송신하는 것에 의해 그 수정들이 처리된다. 만일 추가적인 수정이 행해지지 않았다면 루틴(1000)은 동작 1028로 계속되고, 거기서 종료한다.
실시예들에 따르면, 웹 서비스(118)는 무상태(stateless) 동작 모드에서 동작한다는 것을 알아야 한다. 이 동작 모드에서, 웹 서비스(118)는 다이내믹 그래픽(402)의 상태에 관한 어떤 정보도 보유하지 않는다. 웹 브라우저(110)가 다이내믹 그래픽(402)에 대한 요청을 송신할 때마다, 모든 파라미터들이 제공된다. 이런 식으로, 웹 서비스(118)는 웹 브라우저(110)에 관하여 무상태인 채로 있을 수 있다.
다른 구현들에 따르면, 웹 서비스(118)는 그것이 다이내믹 그래픽(402)의 상태를 유지하는 유상태(stateful) 동작 모드에서 동작한다. 예를 들면, 웹 서비스(118)는 다이내믹 그래픽(402)에 대한, 레이아웃 유형, 텍스트 항목들(406)의 목록(504), 스타일, 및 컬러를 식별하는 데이터를 유지할 수 있다. 이런 식으로, 웹 브라우저(110)는 모든 파라미터들보다는 변경된 파라미터들을 웹 서비스(118)에 송신하기만 하면 되고, 그에 의해 네트워크 대역폭을 절약한다. 이 동작 모드는 다수의 사용자들이 동시에 프리젠테이션 슬라이드(202) 및 다이내믹 그래픽(402)을 편집하도록 허용되는 경우에 유용할 수 있다.
도 11은 위에 제시된 방식으로 웹 인터페이스를 통해 다이내믹 그래픽을 작성하고 편집하기 위한 본 명세서에 설명된 소프트웨어 컴포넌트들을 실행할 수 있는 컴퓨터(1100)에 대한 예시적인 컴퓨터 아키텍처를 보여준다. 도 11에 도시된 컴퓨터 아키텍처는 종래의 데스크톱, 랩톱, 또는 서버 컴퓨터를 예시하고 클라이언트 컴퓨터(102) 또는 서버 컴퓨터(104) 상에서 실행하는 것으로 설명된 본 명세서에 제시된 소프트웨어 컴포넌트들의 임의의 양태들을 실행하기 위해 이용될 수 있다.
도 11에 도시된 컴퓨터 아키텍처는 중앙 처리 장치(1102)("CPU"), RAM(random access memory)(1114) 및 ROM(read-only memory)(1116)를 포함하는 시스템 메모리(1108), 및 메모리를 CPU(1102)에 연결하는 시스템 버스(1104)를 포함한다. 시동 중과 같은 때에 컴퓨터(1100) 내의 엘리먼트들 사이의 정보 전송을 돕는 기본 루틴들을 포함하는 기본 입력/출력 시스템이 ROM(1116)에 저장된다. 컴퓨터(1100)는 운영 체제(1118), 애플리케이션 프로그램들, 및 본 명세서에 더욱 상세히 설명되어 있는, 다른 프로그램 모듈들을 저장하기 위한 대용량 저장 장치(1110)를 더 포함한다.
대용량 저장 장치(1110)는 버스(1104)에 접속된 대용량 저장 컨트롤러(도시되지 않음)를 통하여 CPU(1102)에 접속된다. 대용량 저장 장치(1110) 및 그것과 관련된 컴퓨터 판독가능 매체는 컴퓨터(1100)를 위한 비휘발성 저장소를 제공한다. 비록 본 명세서에 포함된 컴퓨터 판독가능 매체의 설명은 하드 디스크 또는 CD-ROM 드라이브와 같은 대용량 저장 장치를 참조하지만, 숙련된 당업자들은 컴퓨터 판독가능 매체는 컴퓨터(1100)에 의해 액세스될 수 있는 임의의 이용 가능한 컴퓨터 저장 매체일 수 있다는 것을 알 것이다.
예로서, 컴퓨터 판독가능 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함할 수 있지만, 이에 제한되는 것은 아니다. 예를 들면, 컴퓨터 판독가능 매체는, RAM, ROM, EPROM, EEPROM, 플래시 메모리 또는 다른 솔리드 스테이트 메모리 기술, CD-ROM, DVD(digital versatile disks), HD-DVD, BLU-RAY, 또는 다른 광 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 또는 원하는 정보를 저장하는 데 이용될 수 있고 컴퓨터(1100)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 제한되는 것은 아니다.
다양한 실시예들에 따르면, 컴퓨터(1100)는 네트워크(106)와 같은 네트워크 를 통하여 원격 컴퓨터들에의 논리적 접속들을 이용하여 네트워킹된 환경에서 동작할 수 있다. 컴퓨터(1100)는 버스(1104)에 접속된 네트워크 인터페이스 유닛(1106)을 통하여 네트워크(106)에 접속될 수 있다. 네트워크 인터페이스 유닛(1106)은 또한 다른 유형의 네트워크들 및 원격 컴퓨터 시스템들에 접속하기 위해 이용될 수 있다는 것을 알아야 한다. 컴퓨터(1100)는 또한 (도 11에 도시되지 않은) 키보드, 마우스, 또는 전자식 스타일러스를 포함하는 다수의 다른 장치들로부터의 입력을 수신하고 처리하기 위한 입력/출력 컨트롤러(1112)를 포함할 수 있다. 유사하게, 입력/출력 컨트롤러는 (역시 도 11에 도시되지 않은) 디스플레이 화면, 프린터, 또는 다른 유형의 출력 장치에 출력을 제공할 수 있다.
위에 간단히 언급된 바와 같이, 네트워킹된 데스크톱, 랩톱, 또는 서버 컴퓨터의 동작을 제어하기에 적합한 운영 체제(1118)를 포함하여, 다수의 프로그램 모듈들 및 데이터 파일들이 컴퓨터(1100)의 대용량 저장 장치(1110) 및 RAM(1114)에 저장될 수 있다. 대용량 저장 장치(1110) 및 RAM(1114)은 또한 하나 이상의 프로그램 모듈들을 저장할 수 있다. 특히, 대용량 저장 장치(1110) 및 RAM(1114)은 웹 브라우저(110), 클라이언트 측 코드(112), 및 웹 서비스(118)를 저장할 수 있고, 그 각각은 도 1-10b에 관련하여 위에서 상세히 설명되었다. 대용량 저장 장치(1110) 및 RAM(1114)은 또한 다른 유형의 프로그램 모듈들을 저장할 수 있다.
전술한 내용에 기초하여, 본 명세서에서는 웹 사용자 인터페이스를 통해 다이내믹 그래픽을 작성하고 편집하기 위한 기술들이 제공된다는 것을 알아야 한다. 도면들에 도시되고 본 명세서에 설명된 사용자 인터페이스 컨트롤들은 예시적인 것에 불과하고 임의의 적합한 사용자 인터페이스 컨트롤 또는 화면 레이아웃이 이용될 수 있다는 것을 알아야 한다. 또한 다른 클라이언트 또는 서버 측 애플리케이션, 스크립트, 또는 기타 프로그램 컴포넌트들이 다이내믹 그래픽을 작성하고 편집하기 위한 사용자 인터페이스의 제공 없이 프로그램적으로 본 명세서에 제공된 웹 서비스(118)를 이용할 수 있다는 것도 알아야 한다. 이들 실시예들에서는, 프로그램 컴포넌트가 다이내믹 그래픽을 생성하기 위해 본 명세서에 설명된 방식으로 웹 서비스(118)를 호출할 수 있다. 프로그램 컴포넌트는 그 후 임의의 적합한 목적으로 다이내믹 그래픽을 이용할 수 있다. 본 명세서에 제시된 바와 같이 다이내믹 그래픽을 수정하기 위해 추가적인 호출들이 행해질 수 있다. 또한 다이내믹 그래픽의 시각적 외관에 관련되지 않은 속성들을 포함하여, 다이내믹 그래픽의 다른 속성들이 본 명세서에 제시된 기술들 및 개념들을 이용하여 수정될 수 있다는 것도 알아야 한다.
또한 본 명세서에 제시된 내용은 컴퓨터 구조적 특징들, 방법적 액트들, 및 컴퓨터 판독가능 매체들에 특정한 언어로 설명되었지만, 부속된 청구항들에서 정의된 발명은 반드시 본 명세서에 설명된 그 특정한 특징들, 액트들, 또는 매체들에 제한되는 것은 아니라는 것도 알아야 한다. 오히려, 그 특정한 특징들, 액트들 및 매체들은 청구항들을 구현하는 예시적인 형태들로서 개시되어 있다.
위에 설명된 내용은 단지 예시로서 제공되었고 제한하는 것으로 해석되지 않아야 한다. 예시되고 설명된 예시적인 실시예들 및 애플리케이션들을 따르지 않고, 다음의 청구항들에서 설명되는, 본 발명의 진정한 정신 및 범위에서 벗어나지 않으면서, 본 명세서에 설명된 내용에 다양한 수정들 및 변경들이 이루어질 수 있다.

Claims (20)

  1. 월드 와이드 웹(Web) 인터페이스를 통해 다이내믹 그래픽을 작성하기 위한 방법으로서,
    서버 컴퓨터에서 웹 서비스를 익스포즈(expose)하는 단계와,
    다이내믹 그래픽에 대한 제1 요청을 상기 웹 서비스에서 수신하는 단계 - 상기 제1 요청은 프레젠테이션 문서의 복수의 형상 요소에 대한 순서 정보를 포함하고, 상기 순서 정보는 복수의 텍스트 항목의 순서를 포함하고, 각 텍스트 항목은 형상 요소에 대응함 - 와,
    상기 제1 요청을 수신하는 것에 응답하여, 상기 제1 요청에 기초하여 상기 다이내믹 그래픽을 생성하는 단계 - 상기 다이내믹 그래픽은 상기 복수의 형상 요소의 제1 레이아웃을 포함하고, 각 형상 요소는 상기 복수의 텍스트 항목 중 하나의 텍스트 항목에 대응하는 텍스트 요소를 포함하고, 제1 형상 요소는 제1 텍스트 항목에 대응하는 제1 텍스트 요소를 포함하고, 상기 복수의 텍스트 항목의 상기 순서 정보는 상기 제1 레이아웃의 상기 복수의 형상 요소들 사이의 관계를 정의하고, 상기 제1 레이아웃은 복수의 레이아웃 중 하나이며, 상기 복수의 레이아웃 중 적어도 둘은 상기 다이내믹 그래픽에 대한 상기 복수의 형상 요소의 포지셔닝(positioning)을 상이하게 정의함 - 와,
    상기 제1 요청에 응답하여 상기 다이내믹 그래픽을 반환하는 단계와,
    상기 복수의 형상 요소 중 적어도 하나의 형상 요소를 변경하기 위한 표시자를 제2 요청이 포함하고 상기 제2 요청을 수신하는 것에 응답하여, 상기 제2 요청에 기초하여 수정된 다이내믹 그래픽을 생성하고 상기 수정된 다이내믹 그래픽을 상기 제2 요청에 응답하여 반환하는 단계 - 상기 수정된 다이내믹 그래픽은 제2 형상 요소를 포함하는 상기 복수의 형상 요소의 제2 레이아웃을 포함하되 상기 제2 형상 요소는 상기 제1 텍스트 항목에 대응하는 상기 제1 텍스트 요소를 포함하고 상기 제2 형상 요소는 상기 제1 형상 요소와 상이하며, 상기 복수의 텍스트 항목들의 상기 순서 정보는 상기 제2 레이아웃의 상기 복수의 형상 요소들 사이의 관계를 정의함 -
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 제1 요청은 상기 다이내믹 그래픽에 대한 텍스트 항목들의 목록 및 상기 다이내믹 그래픽에 대한 레이아웃 유형을 식별하는 데이터를 포함하는 방법.
  3. 제2항에 있어서, 상기 다이내믹 그래픽을 생성하는 단계는 상기 레이아웃 유형에 대응하는 유형을 가지며 상기 제1 요청에서 식별된 상기 텍스트 항목들에 대응하는 형상 요소들을 포함하는 다이내믹 그래픽을 생성하는 단계를 포함하는 방법.
  4. 제3항에 있어서, 상기 제1 요청은 상기 다이내믹 그래픽에 대한 시각적 스타일을 식별하는 데이터를 더 포함하는 방법.
  5. 제4항에 있어서, 상기 다이내믹 그래픽을 생성하는 단계는 상기 제1 요청에서 식별된 상기 시각적 스타일에 대응하는 스타일을 갖는 상기 다이내믹 그래픽을 생성하는 단계를 포함하는 방법.
  6. 제5항에 있어서, 상기 제1 요청은 상기 다이내믹 그래픽에 대한 컬러들의 세트를 식별하는 데이터를 더 포함하는 방법.
  7. 제6항에 있어서, 상기 다이내믹 그래픽을 생성하는 단계는 상기 제1 요청에서 식별된 상기 컬러들의 세트로 상기 다이내믹 그래픽을 생성하는 단계를 포함하는 방법.
  8. 월드 와이드 웹(Web) 인터페이스를 통해 다이내믹 그래픽을 작성하기 위한 방법으로서,
    상기 다이내믹 그래픽에 대한 텍스트 항목들의 목록 및 상기 다이내믹 그래픽에 대한 레이아웃 유형을 특정하기 위한 사용자 인터페이스를 웹 브라우저를 통해 제공하는 단계 - 각 텍스트 항목은 하나 이상의 문자(character)를 포함함 - 와,
    상기 다이내믹 그래픽을 생성하라는 제1 요청을 상기 웹 브라우저에서 수신하는 단계 - 상기 제1 요청은 프레젠테이션 문서의 복수의 형상 요소에 대한 순서 정보를 포함함 - 와,
    상기 다이내믹 그래픽을 생성하라는 상기 제1 요청을 수신하는 것에 응답하여, 상기 다이내믹 그래픽에 대한 제1 메시지를 웹 서비스에 송신하는 단계 - 상기 다이내믹 그래픽에 대한 상기 제1 메시지는 상기 텍스트 항목들의 목록 및 상기 다이내믹 그래픽에 대한 레이아웃 유형을 식별하는 데이터를 포함하고, 상기 레이아웃 유형은 형상 요소를 포함하되 각 형상 요소는 복수의 텍스트 항목 중 하나의 텍스트 항목에 대응하는 텍스트 요소를 포함하고, 제1 형상 요소는 제1 텍스트 항목에 대응하는 제1 텍스트 요소를 포함하고, 상기 복수의 텍스트 항목의 순서 정보는 상기 레이아웃 유형의 상기 복수의 형상 요소들 사이의 관계를 정의하며, 상기 레이아웃 유형은 복수의 레이아웃 유형들 중 하나이며 상기 복수의 레이아웃 중 적어도 둘은 상기 다이내믹 그래픽에 대한 상기 복수의 형상 요소의 포지셔닝을 상이하게 정의함 - 와,
    상기 웹 서비스로부터 상기 다이내믹 그래픽을 수신하는 단계와,
    상기 웹 브라우저를 통해 상기 수신된 다이내믹 그래픽을 디스플레이하는 단계와,
    형상 요소를 변경하라는 제2 요청을 상기 웹 브라우저에서 수신하는 단계 - 상기 제2 요청은 상기 제1 텍스트 항목에 대응하는 상기 제1 텍스트 요소를 포함하는 상이한 형상 요소를 포함하고, 상기 복수의 텍스트 항목의 상기 순서 정보는 상기 제2 레이아웃 유형의 상기 복수의 형상 요소들 사이의 상기 관계를 정의함 - 와,
    상기 제2 요청을 수신하는 것에 응답하여, 상기 제2 요청을 제2 메시지로서 상기 웹 서비스로 전송하는 단계와,
    상기 웹 서비스로부터 수정된 다이내믹 그래픽을 수신하는 단계 - 상기 수정된 다이내믹 그래픽은 상기 제2 레이아웃 유형에 따른 형상 요소의 순서의 수정을 포함함 - 와,
    상기 수신된 다이내믹 그래픽을 디스플레이하는 단계
    를 포함하는 방법.
  9. 제8항에 있어서,
    상기 다이내믹 그래픽의 속성이 수정되었는지를 판정하는 단계와,
    상기 다이내믹 그래픽의 속성이 수정되었다고 판정하는 것에 응답하여, 상기 다이내믹 그래픽에 대한 제3 메시지를 상기 웹 서비스에 송신하는 단계 - 상기 다이내믹 그래픽에 대한 상기 제2 메시지는 수정된 속성을 포함함 - 와,
    상기 웹 서비스로부터 수정된 다이내믹 그래픽을 수신하는 단계와,
    상기 웹 브라우저를 통해 상기 수정된 다이내믹 그래픽을 디스플레이하는 단계
    를 더 포함하는 방법.
  10. 제8항에 있어서,
    상기 텍스트 항목들이 수정되었는지를 판정하는 단계와,
    상기 텍스트 항목들이 수정되었다고 판정하는 것에 응답하여, 상기 다이내믹 그래픽에 대한 제3 메시지를 상기 웹 서비스에 송신하는 단계 - 상기 다이내믹 그래픽에 대한 상기 제3 메시지는 수정된 텍스트 항목들의 목록을 포함함 - 와,
    상기 웹 서비스로부터 수정된 다이내믹 그래픽을 수신하는 단계와,
    상기 웹 브라우저를 통해 상기 수정된 다이내믹 그래픽을 디스플레이하는 단계
    를 더 포함하는 방법.
  11. 제8항에 있어서,
    상기 레이아웃 유형이 수정되었는지를 판정하는 단계와,
    상기 레이아웃 유형이 수정되었다고 판정하는 것에 응답하여, 상기 다이내믹 그래픽에 대한 제3 메시지를 상기 웹 서비스에 송신하는 단계 - 상기 다이내믹 그래픽에 대한 상기 제3 메시지는 상기 다이내믹 그래픽에 대한 수정된 레이아웃 유형을 식별하는 데이터를 포함함 - 와,
    상기 웹 서비스로부터 수정된 다이내믹 그래픽을 수신하는 단계와,
    상기 웹 브라우저를 통해 상기 수정된 다이내믹 그래픽을 디스플레이하는 단계
    를 더 포함하는 방법.
  12. 제8항에 있어서, 상기 다이내믹 그래픽에 대한 스타일을 특정하기 위한 사용자 인터페이스를 상기 웹 브라우저 내에 제공하는 단계를 더 포함하고, 상기 웹 서비스에 송신되는 상기 다이내믹 그래픽에 대한 상기 제1 요청은 상기 스타일을 식별하는 데이터를 더 포함하는 방법.
  13. 제12항에 있어서,
    상기 다이내믹 그래픽에 대한 상기 스타일이 수정되었는지를 판정하는 단계와,
    상기 스타일이 수정되었다고 판정하는 것에 응답하여, 상기 다이내믹 그래픽에 대한 제3 메시지를 상기 웹 서비스에 송신하는 단계 - 상기 다이내믹 그래픽에 대한 상기 제3 메시지는 상기 다이내믹 그래픽에 대한 수정된 스타일을 식별하는 데이터를 포함함 - 와,
    상기 웹 서비스로부터 수정된 다이내믹 그래픽을 수신하는 단계와,
    상기 웹 브라우저를 통해 상기 수정된 다이내믹 그래픽을 디스플레이하는 단계
    를 더 포함하는 방법.
  14. 제8항에 있어서, 상기 다이내믹 그래픽에 대한 컬러를 특정하기 위한 사용자 인터페이스를 상기 웹 브라우저 내에 제공하는 단계를 더 포함하고, 상기 웹 서비스에 송신되는 상기 다이내믹 그래픽에 대한 상기 제1 요청은 상기 컬러를 식별하는 데이터를 더 포함하는 방법.
  15. 제14항에 있어서,
    상기 다이내믹 그래픽에 대한 상기 컬러가 수정되었는지를 판정하는 단계와,
    상기 컬러가 수정되었다고 판정하는 것에 응답하여, 상기 다이내믹 그래픽에 대한 제3 메시지를 상기 웹 서비스에 송신하는 단계 - 상기 다이내믹 그래픽에 대한 상기 제3 메시지는 상기 다이내믹 그래픽에 대한 수정된 컬러를 식별하는 데이터를 포함함 - 와,
    상기 웹 서비스로부터 수정된 다이내믹 그래픽을 수신하는 단계와,
    상기 웹 브라우저를 통해 상기 수정된 다이내믹 그래픽을 디스플레이하는 단계
    를 더 포함하는 방법.
  16. 컴퓨터 실행가능 명령어들을 가지는 컴퓨터 저장 매체로서, 상기 명령어들은 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금,
    하나 이상의 공급된 파라미터들에 기초하여 다이내믹 그래픽을 생성하기 위한 월드 와이드 웹(Web) 서비스를 익스포즈하게 하고,
    다이내믹 그래픽에 대한 제1 요청을 상기 웹 서비스에서 수신하게 하고 - 상기 제1 요청은 상기 파라미터들을 공급하고, 상기 파라미터들은 프레젠테이션 문서의 복수의 요소들에 대한 순서 정보를 포함하고, 상기 파라미터들은 텍스트 항목들의 순서에 대응하고, 각 텍스트 항목은 복수의 형상 요소들 중 하나의 형상 요소에 대응하며, 상기 복수의 형상 요소는 제1 레이아웃에 따라 배치되고, 상기 제1 레이아웃은 복수의 레이아웃 중 하나이며 상기 복수의 레이아웃 중 적어도 둘은 상기 다이내믹 그래픽에 대한 상기 복수의 형상 요소의 포지셔닝을 상이하게 정의함 -,
    상기 제1 요청에 응답하여, 상기 파라미터들에 기초하여 다이내믹 그래픽을 생성하게 하고 - 복수의 텍스트 항목의 순서 정보는 상기 제1 레이아웃의 상기 복수의 형상 요소들 사이의 관계를 정의함 -,
    다이내믹 그래픽에 대한 상기 제1 요청에 대한 응답으로서 상기 다이내믹 그래픽을 반환하게 하고,
    상기 복수의 형상 요소들 중 적어도 하나의 형상 요소들을 변경하기 위한 표시자에 기초하여 수정된 다이내믹 그래픽을 생성하라는 제2 요청을 상기 웹 서비스에서 수신하게 하고 - 상기 수정된 다이내믹 그래픽은 적어도 하나의 상이한 형상 요소에 대응하는 상기 형상 요소들의 제2 레이아웃을 포함하고, 상기 제2 요청은 상기 복수의 텍스트 항목의 하나 이상의 문자에 대한 변경을 포함하지 않음 -,
    상기 적어도 하나의 상이한 형상 요소에 기초하여 상기 수정된 다이내믹 그래픽을 생성하게 하고 - 상기 복수의 텍스트 항목들의 상기 순서 정보는 상기 제2 레이아웃의 상기 복수의 형상 요소들 사이의 상기 관계를 정의하고, 상기 수정된 다이내믹 그래픽은 상기 형상 요소들의 제2 레이아웃을 포함함 -, 및
    상기 제2 요청에 대한 응답으로서 상기 수정된 다이내믹 그래픽을 반환하게 하는, 컴퓨터 저장 매체.
  17. 제16항에 있어서, 상기 파라미터들은 상기 다이내믹 그래픽에 대한 레이아웃 유형 및 텍스트 항목들의 목록을 특정하는 컴퓨터 저장 매체.
  18. 제16항에 있어서, 상기 파라미터들은 상기 다이내믹 그래픽에 대한 스타일을 더 특정하는 컴퓨터 저장 매체.
  19. 제17항에 있어서, 상기 파라미터들은 상기 다이내믹 그래픽에 대한 컬러를 특정하는 컴퓨터 저장 매체.
  20. 제18항에 있어서, 상기 웹 서비스는 무상태(stateless) 동작 모드 또는 유상태(stateful) 동작 모드에서 동작하고, 상기 유상태 동작 모드에서 동작할 때 상기 웹 서비스는 상기 다이내믹 그래픽에 대한 레이아웃 유형, 텍스트 항목들의 목록, 스타일, 및 컬러를 식별하는 상태를 유지하는 컴퓨터 저장 매체.
KR1020107013927A 2007-12-28 2008-11-27 웹 인터페이스를 통한 다이내믹 그래픽의 작성 및 편집 KR101531435B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/965,774 2007-12-28
US11/965,774 US9037974B2 (en) 2007-12-28 2007-12-28 Creating and editing dynamic graphics via a web interface
PCT/US2008/085054 WO2009085526A1 (en) 2007-12-28 2008-11-27 Creating and editing dynamic graphics via a web interface

Publications (2)

Publication Number Publication Date
KR20100110307A KR20100110307A (ko) 2010-10-12
KR101531435B1 true KR101531435B1 (ko) 2015-06-24

Family

ID=40800212

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107013927A KR101531435B1 (ko) 2007-12-28 2008-11-27 웹 인터페이스를 통한 다이내믹 그래픽의 작성 및 편집

Country Status (6)

Country Link
US (2) US9037974B2 (ko)
EP (1) EP2248000A4 (ko)
JP (1) JP5687065B2 (ko)
KR (1) KR101531435B1 (ko)
CN (1) CN101910990B (ko)
WO (1) WO2009085526A1 (ko)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9037974B2 (en) 2007-12-28 2015-05-19 Microsoft Technology Licensing, Llc Creating and editing dynamic graphics via a web interface
US8117225B1 (en) 2008-01-18 2012-02-14 Boadin Technology, LLC Drill-down system, method, and computer program product for focusing a search
US8117242B1 (en) 2008-01-18 2012-02-14 Boadin Technology, LLC System, method, and computer program product for performing a search in conjunction with use of an online application
JP2010033551A (ja) * 2008-06-26 2010-02-12 Canon Inc デザイン編集装置及びデザイン編集方法およびデザイン編集プログラム
US8131458B1 (en) 2008-08-22 2012-03-06 Boadin Technology, LLC System, method, and computer program product for instant messaging utilizing a vehicular assembly
US8190692B1 (en) 2008-08-22 2012-05-29 Boadin Technology, LLC Location-based messaging system, method, and computer program product
US8073590B1 (en) 2008-08-22 2011-12-06 Boadin Technology, LLC System, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly
US8078397B1 (en) 2008-08-22 2011-12-13 Boadin Technology, LLC System, method, and computer program product for social networking utilizing a vehicular assembly
US8265862B1 (en) 2008-08-22 2012-09-11 Boadin Technology, LLC System, method, and computer program product for communicating location-related information
US8255186B2 (en) * 2009-07-09 2012-08-28 Air Liquide Large Industries U.S. Lp Presenting dynamic SCADA data
JP5531497B2 (ja) * 2009-08-18 2014-06-25 ソニー株式会社 表示装置及び表示方法
US20120166953A1 (en) * 2010-12-23 2012-06-28 Microsoft Corporation Techniques for electronic aggregation of information
WO2013028566A2 (en) * 2011-08-19 2013-02-28 Apple Inc. Authoring content for digital books
US9372603B2 (en) * 2013-03-12 2016-06-21 Air Liquide Large Industries U.S. Lp Data sampling method for determining salient values in a large data stream
US20140282188A1 (en) * 2013-03-15 2014-09-18 Moresteam Development Llc Computer graphical user interface, system, and method
US10366149B2 (en) * 2013-03-15 2019-07-30 Wolfram Research, Inc. Multimedia presentation authoring tools
US10282075B2 (en) 2013-06-24 2019-05-07 Microsoft Technology Licensing, Llc Automatic presentation of slide design suggestions
US9619128B2 (en) * 2013-07-01 2017-04-11 Microsoft Technology Licensing, Llc Dynamic presentation prototyping and generation
WO2015042901A1 (en) 2013-09-29 2015-04-02 Microsoft Technology Licensing, Llc Media presentation effects
CN104598436B (zh) * 2013-10-31 2018-05-01 艾迪普(北京)文化科技股份有限公司 一种三维图表的动态生成方法及装置
US10339681B2 (en) * 2013-11-22 2019-07-02 Raytheon Company Interactive multimedia process flow chart builder
JP6031535B2 (ja) * 2014-02-10 2016-11-24 ネイバー コーポレーションNAVER Corporation 多様な形態のカードを利用してサイトの製作を支援するサイト管理方法およびシステム
US9280325B2 (en) 2014-05-30 2016-03-08 International Business Machines Corporation Customized ready-to-go componentized application definitions
USD793420S1 (en) * 2014-06-24 2017-08-01 Robert Bosch Gmbh Display screen with graphical user interface
EP3213225A4 (en) * 2014-10-30 2017-10-25 Microsoft Technology Licensing, LLC Authoring tools for synthesizing hybrid slide-canvas presentations
CN104808904A (zh) * 2015-04-29 2015-07-29 北京奇虎科技有限公司 页面中导航元素的动态展示方法和装置
JP5866085B1 (ja) * 2015-05-19 2016-02-17 三菱電機株式会社 ユーザインタフェース装置およびユーザインタフェース装置の画面表示方法
WO2016199018A1 (en) * 2015-06-07 2016-12-15 Wix.Com Ltd System and method for the generation of an adaptive user interface in a website building system
CN106648567B (zh) * 2015-10-30 2020-06-05 北京国双科技有限公司 数据获取方法及装置
US10528547B2 (en) 2015-11-13 2020-01-07 Microsoft Technology Licensing, Llc Transferring files
US9824291B2 (en) 2015-11-13 2017-11-21 Microsoft Technology Licensing, Llc Image analysis based color suggestions
US10534748B2 (en) * 2015-11-13 2020-01-14 Microsoft Technology Licensing, Llc Content file suggestions
CN107783986A (zh) * 2016-08-25 2018-03-09 平安科技(深圳)有限公司 一种web图形编辑方法及终端
CN109753198A (zh) * 2017-11-07 2019-05-14 阿里巴巴集团控股有限公司 界面访问方法、显示方法、设备、介质
CN108805962A (zh) * 2018-05-29 2018-11-13 广州梦映动漫网络科技有限公司 一种动态漫画的生成方法以及电子设备
CN108989183A (zh) * 2018-06-22 2018-12-11 周士志 一种信息交流系统与方法
CN113516740B (zh) * 2020-04-10 2024-07-09 阿里巴巴集团控股有限公司 添加静态元素的方法、装置及电子设备
US11605187B1 (en) * 2020-08-18 2023-03-14 Corel Corporation Drawing function identification in graphics applications
CN113064632B (zh) * 2021-04-07 2024-06-21 北京读我网络技术有限公司 前端项目发布方法及装置
KR102560619B1 (ko) * 2023-03-17 2023-07-27 (주)데브게이트 노코드툴 서비스를 제공하는 전자 장치 및 그 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070156433A1 (en) * 2005-12-30 2007-07-05 Eric Thorson Electronic commerce method and system with customizable product displays

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994027229A1 (en) * 1993-05-10 1994-11-24 Apple Computer, Inc. Computer-human interface system which manipulates parts between a desktop and a document
US5555369A (en) * 1994-02-14 1996-09-10 Apple Computer, Inc. Method of creating packages for a pointer-based computer system
US6098092A (en) * 1996-11-08 2000-08-01 Silicon Graphics, Inc. Server to dynamically generate graphics for the world wide web
US6243761B1 (en) * 1998-03-26 2001-06-05 Digital Equipment Corporation Method for dynamically adjusting multimedia content of a web page by a server in accordance to network path characteristics between client and server
US6614433B1 (en) * 1998-06-05 2003-09-02 Unisys Corporation Method and system for distributed, dynamic generation of graphics files
US6320600B1 (en) 1998-12-15 2001-11-20 Cornell Research Foundation, Inc. Web-based video-editing method and system using a high-performance multimedia software library
US20050262437A1 (en) 1999-04-24 2005-11-24 Patterson Dennis M Process for creating and printing customized document at end user computer and printer
AUPQ228699A0 (en) 1999-08-18 1999-09-09 Champion Forms Pty Ltd Multi-layer continuous paper printer
US6826727B1 (en) * 1999-11-24 2004-11-30 Bitstream Inc. Apparatus, methods, programming for automatically laying out documents
US7246316B2 (en) * 1999-11-30 2007-07-17 Siebel Systems, Inc. Methods and apparatus for automatically generating presentations
US7277925B2 (en) 1999-12-08 2007-10-02 Warnock Kevin L Internet document services
US7050079B1 (en) * 2000-01-04 2006-05-23 International Business Machines Corporation System and method for dynamically generating viewable graphics
US20010048436A1 (en) * 2000-04-03 2001-12-06 Sanger Terence David Method and apparatus for sending electronic mail using human handwriting
US20020091582A1 (en) * 2000-05-11 2002-07-11 Palmer John F. Systems and methods for e-commerce facilitation and implementation
US6760043B2 (en) 2000-08-21 2004-07-06 Intellocity Usa, Inc. System and method for web based enhanced interactive television content page layout
US20060129933A1 (en) * 2000-12-19 2006-06-15 Sparkpoint Software, Inc. System and method for multimedia authoring and playback
US6996780B2 (en) * 2000-12-29 2006-02-07 International Business Machines Corporation Method and system for creating a place type to be used as a template for other places
US6973618B2 (en) 2000-12-29 2005-12-06 International Business Machines Corporation Method and system for importing MS office forms
WO2002069541A2 (en) 2001-01-17 2002-09-06 Dmind Method and system for generation and management of content and services on a network
KR100831375B1 (ko) * 2001-11-28 2008-05-21 노키아 코포레이션 이동 단말기에서의 그래픽 표현을 생성하는 방법
US6922200B1 (en) * 2001-11-30 2005-07-26 Oracle International Corporation Delivering a graphical object to a browser
US7310784B1 (en) * 2002-01-02 2007-12-18 The Jellyvision Lab, Inc. Methods for identifying cells in a path in a flowchart and for synchronizing graphical and textual views of a flowchart
JP3826039B2 (ja) * 2002-01-22 2006-09-27 キヤノン株式会社 信号処理装置
US20030159128A1 (en) * 2002-02-20 2003-08-21 Thomas Kunzler Generating instructions for drawing a flowchart
JP3951116B2 (ja) 2002-04-12 2007-08-01 村田機械株式会社 文書サーバ及び文書処理プログラム
US20040041818A1 (en) * 2002-08-29 2004-03-04 Jvolution Limited Design system for website text graphics
FR2846769B1 (fr) * 2002-11-06 2005-04-15 France Telecom Procede et systeme d'elaboration dynamique d'images
US7619638B2 (en) * 2002-11-06 2009-11-17 Vista Print Technologies Limited Custom composite image system and method
US8036475B2 (en) * 2002-12-13 2011-10-11 Ricoh Co., Ltd. Compression for segmented images and other types of sideband information
US20040250205A1 (en) 2003-05-23 2004-12-09 Conning James K. On-line photo album with customizable pages
US7322007B2 (en) * 2003-05-30 2008-01-22 Vistaprint Technologies Limited Electronic document modification
US7339598B2 (en) * 2003-07-11 2008-03-04 Vistaprint Technologies Limited System and method for automated product design
KR100560302B1 (ko) 2003-08-11 2006-03-10 삼성에스디에스 주식회사 인터넷을 이용한 출판물 편집틀 제작 방법
US7275212B2 (en) * 2003-10-23 2007-09-25 Microsoft Corporation Synchronized graphics and region data for graphics remoting systems
US7707503B2 (en) * 2003-12-22 2010-04-27 Palo Alto Research Center Incorporated Methods and systems for supporting presentation tools using zoomable user interface
JP2005310110A (ja) * 2004-03-22 2005-11-04 Fuji Photo Film Co Ltd 画像生成装置および方法並びにプログラム
US7428704B2 (en) * 2004-03-29 2008-09-23 Lehman Brothers Holdings Inc. Dynamic presentation generator
US20050276577A1 (en) * 2004-04-15 2005-12-15 Fuji Photo Film Co., Ltd. Recording medium, image recording apparatus, image recording method, and image recording program
US8510657B2 (en) * 2004-09-30 2013-08-13 Microsoft Corporation Editing the text of an arbitrary graphic via a hierarchical list
US20070094597A1 (en) 2004-11-04 2007-04-26 Rostom Mohamed A Dynamic graphical user interface for a desktop environment
US7805679B2 (en) * 2005-02-24 2010-09-28 Fujifilm Corporation Apparatus and method for generating slide show and program therefor
US7750924B2 (en) 2005-03-15 2010-07-06 Microsoft Corporation Method and computer-readable medium for generating graphics having a finite number of dynamically sized and positioned shapes
US7747946B2 (en) * 2005-04-11 2010-06-29 Microsoft Corporation System and method for adorning shapes with data driven objects
JP2006331393A (ja) * 2005-04-28 2006-12-07 Fujifilm Holdings Corp アルバム作成装置、アルバム作成方法、及びプログラム
US20060263133A1 (en) 2005-05-17 2006-11-23 Engle Jesse C Network based method and apparatus for collaborative design
US7844966B1 (en) * 2005-07-12 2010-11-30 American Express Travel Related Services Company, Inc. System and method for generating computing system job flowcharts
US20070115300A1 (en) * 2005-11-23 2007-05-24 Interactive Investments, Llc System and method for creation of motor vehicle graphics
US8140987B2 (en) * 2005-12-29 2012-03-20 Sap Ag GUI modeling of web services
US7778486B2 (en) 2006-02-24 2010-08-17 The Go Daddy Group, Inc. Online image processing systems and methods
US20090129740A1 (en) 2006-03-28 2009-05-21 O'brien Christopher J System for individual and group editing of networked time-based media
US7984383B2 (en) * 2006-04-28 2011-07-19 Business Objects Software, Ltd. Apparatus and method for using a panel layout to consolidate dynamic and interactive graphics representative of input and output data
US20080184143A1 (en) * 2006-12-14 2008-07-31 Gottlieb Harry N Methods for Identifying Actions in a Flowchart
US8352863B2 (en) * 2007-01-03 2013-01-08 Vistaprint Technologies Limited Electronic product design using layered images
US8276058B2 (en) * 2007-02-08 2012-09-25 The Jellyvision Lab, Inc. Method of automatically populating and generating flowerchart cells
US9037974B2 (en) 2007-12-28 2015-05-19 Microsoft Technology Licensing, Llc Creating and editing dynamic graphics via a web interface

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070156433A1 (en) * 2005-12-30 2007-07-05 Eric Thorson Electronic commerce method and system with customizable product displays

Also Published As

Publication number Publication date
JP5687065B2 (ja) 2015-03-18
EP2248000A4 (en) 2017-06-28
KR20100110307A (ko) 2010-10-12
EP2248000A1 (en) 2010-11-10
US20150227494A1 (en) 2015-08-13
US20090172559A1 (en) 2009-07-02
US9037974B2 (en) 2015-05-19
CN101910990B (zh) 2014-08-27
CN101910990A (zh) 2010-12-08
WO2009085526A1 (en) 2009-07-09
JP2011508344A (ja) 2011-03-10

Similar Documents

Publication Publication Date Title
KR101531435B1 (ko) 웹 인터페이스를 통한 다이내믹 그래픽의 작성 및 편집
AU2020203136B2 (en) System and method for the generation of an adaptive user interface in a website building system
US7522176B2 (en) Dynamically generating mini-graphs to represent style and template icons
US9098597B2 (en) Presenting and managing clipped content
JP4920161B2 (ja) 情報の周辺アウェアネスを自動的に提供するシステムおよび動的オブジェクトを提供する方法
US9141718B2 (en) Clipview applications
KR101546732B1 (ko) 미리 정의된 레이아웃들을 이용한, 이미지들 및 관련 텍스트의 동적 레이아웃
KR101183351B1 (ko) 사용자 맞춤화에 기초한 그래픽 프레젠테이션 관리
US5675753A (en) Method and system for presenting an electronic user-interface specification
US20160077701A1 (en) Visual editing tool buffer region
US20060277481A1 (en) Presenting clips of content
US20060225094A1 (en) Enabling customization and personalization of views in content aggregation frameworks
US20060282759A1 (en) Adding an arbitrary number of placeholders to a custom layout
WO2009094635A1 (en) Scalable architecture for dynamic visualization of multimedia information
US20080072157A1 (en) System for controlling objects in a recursive browser system: ZSpace sharing
JP4577847B2 (ja) コンテンツを作成するためのオーサリング・システム、ソフトウェア、および方法
US20060225091A1 (en) Customizing and personalizing views in content aggregation frameworks
US20090019370A1 (en) System for controlling objects in a recursive browser system: forcefield
US7640505B1 (en) Element view toggling
US20120030597A1 (en) Method and apparatus for controlling a workflow
KR100762516B1 (ko) 구조화된 하나 이상의 웹 모듈을 이용한 웹 콘텐츠 작성시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180516

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190515

Year of fee payment: 5