KR102482361B1 - 원격 디바이스로부터의 직접 입력 - Google Patents

원격 디바이스로부터의 직접 입력 Download PDF

Info

Publication number
KR102482361B1
KR102482361B1 KR1020207033972A KR20207033972A KR102482361B1 KR 102482361 B1 KR102482361 B1 KR 102482361B1 KR 1020207033972 A KR1020207033972 A KR 1020207033972A KR 20207033972 A KR20207033972 A KR 20207033972A KR 102482361 B1 KR102482361 B1 KR 102482361B1
Authority
KR
South Korea
Prior art keywords
electronic device
application
data
content
delete delete
Prior art date
Application number
KR1020207033972A
Other languages
English (en)
Other versions
KR20210003224A (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 애플 인크.
Priority to KR1020227045475A priority Critical patent/KR102606037B1/ko
Publication of KR20210003224A publication Critical patent/KR20210003224A/ko
Application granted granted Critical
Publication of KR102482361B1 publication Critical patent/KR102482361B1/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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03547Touch pads, in which fingers can move on a surface
    • 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
    • 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
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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
    • G06F3/04845Interaction 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 for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • 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/117Tagging; Marking up; Designating a block; Setting of attributes
    • 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
    • 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/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0384Wireless input, i.e. hardware and software details of wireless interface arrangements for pointing devices
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user

Abstract

본 기술은 디바이스들의 시스템을 제공하며, 디바이스들 중 적어도 하나는 디바이스들 중 다른 하나로부터 직접 데이터를 수신하도록 구성된 애플리케이션을 포함한다. 애플리케이션은 이용가능한 디바이스들 및 연관된 피처들의 리스트 획득하고 리스트에 기초하여 디스플레이를 위한 입력 옵션들을 제공하도록 구성된다. 입력 옵션들 중 하나가 선택될 때, 애플리케이션은 원하는 데이터의 생성을 위해 다른 디바이스의 컴포넌트 및/또는 애플리케이션을 활성화시킨다. 원하는 데이터가 다른 디바이스에 의해 생성되었을 때, 생성된 데이터는 다른 디바이스에서 생성된 데이터의 저장 없이, 다른 디바이스 상에서 동일한 애플리케이션의 동작 없이, 다른 디바이스로부터 실행 애플리케이션 내로 직접 입력된다.

Description

원격 디바이스로부터의 직접 입력
관련 출원에 대한 상호 참조
본 출원은 2018년 6월 1일자로 출원되고, 발명의 명칭이 "Direct Input from a Remote Device"인, 미국 가특허 출원 제62/679,602호의 이익을 주장하며, 이는 모든 목적들을 위해 참고로 그 전체가 포함된다.
기술분야
본 발명은 일반적으로 전자 디바이스들 사이의 통신에 관한 것으로, 보다 상세하게는 원격 디바이스로부터의 직접 입력에 관한 것이다.
랩톱들, 태블릿 디바이스들, 및 스마트폰들과 같은 전자 디바이스들은 종종 콘텐츠 편집을 위한 애플리케이션들을 포함한다. 콘텐츠 편집기 애플리케이션들은 워드 프로세싱 애플리케이션들, 프리젠테이션 편집 애플리케이션들, 메시징 애플리케이션들, 및 전자 메일 애플리케이션들을 포함할 수 있다. 사용자들은 콘텐츠 편집기 애플리케이션들을 이용하여 문서들, 프리젠테이션들 등과 같은 콘텐츠를 생성 및 편집할 수 있다. 예를 들어, 사용자는 문서를 생성하기 위해 워드 프로세싱 애플리케이션을 사용할 수 있고, 텍스트, 이미지들 등을 문서에 삽입할 수 있다.
본 기술의 특정 특징들은 첨부된 청구항들에 제시된다. 그러나, 설명을 위해, 본 기술의 여러 실시예들이 다음 도면들에서 제시된다.
도 1은 하나 이상의 구현예에 따른, 원격 디바이스들로부터의 직접 입력이 구현될 수 있는 예시적인 네트워크 환경을 도시한다.
도 2는 하나 이상의 구현예에 따른, 원격 입력 옵션들을 갖는 콘텐츠 편집기 애플리케이션에 대한 예시적인 사용자 인터페이스 뷰들을 도시하는 개략도를 도시한다.
도 3은 하나 이상의 구현예에 따른, 원격 입력 옵션의 선택 이후의 콘텐츠 편집기 애플리케이션에 대한 예시적인 사용자 인터페이스 뷰들을 도시하는 개략도를 도시한다.
도 4는 하나 이상의 구현예에 따른, 원격 디바이스로부터 콘텐츠 편집기 애플리케이션으로의 원격 입력의 삽입 이후의 콘텐츠 편집기 애플리케이션에 대한 예시적인 사용자 인터페이스 뷰를 도시하는 개략도를 도시한다.
도 5는 하나 이상의 구현예에 따른, 원격 디바이스로부터 콘텐츠 편집기 애플리케이션에 대한 입력을 획득하기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 6은 하나 이상의 구현예에 따른, 원격 디바이스로부터 콘텐츠 편집기 애플리케이션에 대한 입력을 획득하기 위한 다른 예시적인 프로세스의 흐름도를 도시한다.
도 7은 하나 이상의 구현예에 따른, 원격 디바이스로부터 애플리케이션을 위한 데이터를 획득하기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 8은 하나 이상의 구현예에 따른, 원격 디바이스로부터 파일 관리자 애플리케이션을 위한 데이터를 획득하기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 9는 하나 이상의 구현예에 따른, 원격 입력 옵션들을 갖는 애플리케이션에 대한 다른 예시적인 사용자 인터페이스 뷰를 도시하는 개략도를 도시한다.
도 10은 본 기술의 하나 이상의 구현예가 구현될 수 있는 전자 시스템을 도시한다.
아래에 제시되는 상세한 설명은 본 기술의 다양한 구성들에 대한 설명으로 의도되며 본 기술이 실시될 수 있는 유일한 구성들을 나타내는 것으로 의도되지 않는다. 첨부된 도면들은 본 명세서에 포함되고, 상세한 설명의 일부를 구성한다. 상세한 설명은 본 기술의 완전한 이해를 제공하는 목적을 위한 특정 세부사항들을 포함한다. 그러나, 본 기술은 본 명세서에 제시된 특정 세부사항들로 제한되지 않으며, 하나 이상의 다른 구현예를 사용하여 실시될 수 있다. 하나 이상의 구현예에서, 본 기술의 개념들을 모호하게 하는 것을 피하기 위해, 구조들 및 컴포넌트들은 블록도 형태로 도시된다.
전자 디바이스들을 위한 애플리케이션들은 콘텐츠 편집기 애플리케이션들, 파일 관리자 애플리케이션들, 및 전자 디바이스의 디스플레이 상에 디스플레이될 사용자 인터페이스(UI) 뷰를 제공하는 다른 애플리케이션들을 포함할 수 있다. 전자 디바이스들을 위한 콘텐츠 편집기 애플리케이션들은 영숫자 문자들, 이미지들, 비디오들, 애니메이션들, 건강 데이터, 드로잉 입력, 및/또는 다른 데이터 또는 콘텐츠를 문서, 프레젠테이션, 전자 메시지, 전자 메일, 스프레드시트, 파일 시스템 파일 또는 폴더, 또는 임의의 다른 편집가능한 컨테이너 내에 입력 또는 삽입되게 할 수 있다. 영숫자 문자들은 물리 또는 디스플레이-표시 키보드, 터치스크린 또는 터치패드에 대한 드로잉 입력(예컨대 필기 문자들 및/또는 프리핸드 스케치 이미지들), 또는 오디오 입력(예컨대 음성 인식 소프트웨어를 사용)을 사용하여 컨테이너에 입력된다. 이미지들, 비디오들, 및 애니메이션들과 같은 다른 입력은 전형적으로, 이미지들, 비디오들, 또는 애니메이션들을 포함하며 콘텐츠 편집기 애플리케이션이 실행되고 있는 동일한 디바이스에 저장된 파일을 선택함으로써, 또는 파일을 컨테이너 내에 드래그함으로써, 컨테이너 내에 삽입된다.
파일 관리자 애플리케이션들은 파일 시스템 상의 폴더들의 콘텐츠들을 보기 위한 파일 관리자 UI 뷰를 제공할 수 있으며, 이는 전자 디바이스의 파일 시스템에 저장된(예컨대 메모리 내에 저장된) 파일들을 표현하는 리스트들 또는 아이콘들을 포함한다. 파일 관리자 UI 뷰는 원하는 파일 시스템 폴더를 선택하고/하거나 찾기 위한 내비게이션 옵션들을 포함할 수 있다. 파일 관리자 UI 뷰가 디스플레이될 때, 파일들은 디스플레이된 파일 시스템 폴더 내로 또는 밖으로 드래그 앤 드롭될 수 있다. 일부 시나리오들에서, (예컨대 파일 시스템 파일 또는 폴더를 열지 않고) 파일 시스템 파일 또는 폴더 내에 직접 입력(예컨대 콘텐츠, 데이터, 메타데이터 등)을 제공하는 것이 바람직할 수 있다. 다른 애플리케이션들은 인터넷 브라우저 애플리케이션들, 소셜 미디어 애플리케이션들, 미디어 플레이어 애플리케이션들, 디바이스 백그라운드 애플리케이션들, 뱅킹 또는 지불 애플리케이션들, 내비게이션 애플리케이션들, 차량공유 애플리케이션들, 또는 UI 뷰를 제공할 수 있는 임의의 다른 애플리케이션들을 포함할 수 있다. 애플리케이션의 UI 뷰는 센서 또는 카메라로부터의 입력(예컨대 데이터, 콘텐츠, 또는 메타데이터)에 기초하여(예컨대 사용자의 하나 이상의 이미지 및/또는 사용자에 대한 건강/활동 데이터를 사용하여 결정되는 사용자의 기분에 기초하여) 수정될 수 있다.
그러나, 일부 경우들에서, 애플리케이션이 실행되고 있는 디바이스는 원하는 데이터 또는 콘텐츠를 생성하거나 입력하는 데 가장 적합한 디바이스가 아닐 수 있다. 예를 들어, 사용자가, 사용자의 데스크톱 컴퓨터 상에서 실행되는 워드 프로세서 애플리케이션 또는 프리젠테이션 편집기 애플리케이션과 같은 콘텐츠 편집기 애플리케이션을 사용하여, 저글링에 대한 보고서를 작성하고 있다면, 사용자는 보고서 내에 삽입하기 위해 사용자의 데스크톱 근처에 있는 한 세트의 저글링 볼들의 이미지를 캡처하기를 원할 수 있다. 데스크톱 컴퓨터가 카메라를 가질 수 있지만(예컨대 비디오 회의를 위해), 저글링 볼들의 이미지를 캡처하기 위해 데스크톱 컴퓨터를 들어올리고 돌리는 것은 불편하거나 불가능할 수 있다.
많은 경우들에서, 데스크톱의 사용자는 또한 이미지를 캡처하기 위해 더 용이하게 조작가능하고/하거나 기동가능한 스마트폰, 태블릿 디바이스, 또는 웨어러블 디바이스에 대한 용이한 액세스를 갖는다. 그러나, 이러한 상황들에서, 사용자는 보통, 스마트폰 또는 태블릿 또는 웨어러블 디바이스 상의 카메라 애플리케이션에 액세스하고, 이미지를 캡처하고, 이미지를 스마트폰 또는 태블릿 상에 국부적으로 저장하고, 카메라 애플리케이션을 종료하고, 사진 보기, 메시징, 또는 이메일 애플리케이션을 열고, 저장된 캡처된 이미지를 선택하고, 저장된 캡처된 이미지를 텍스트 메시지 또는 이메일에서 데스크톱에 전송해야 한다. 사용자는 이어서 콘텐츠 편집기 애플리케이션을 종료하고, 데스크톱 상의 메시징 애플리케이션 또는 이메일 애플리케이션을 열고, 메시지 또는 이메일에 액세스하고, 삽입을 위한 데스크톱 상의 로컬 저장을 위해 또는 수신된 메시지 또는 이메일로부터의 삽입을 위해 메시지 또는 이메일로부터 캡처된 이미지를 획득해야 한다.
이 프로세스는 시간 소모적이고, 비효율적이고, 보고서를 준비하는 작업흐름에 지장을 줄 수 있으며, 시스템 내의 모든 디바이스들의 프로세싱 및 컴포넌트 전력을 레버리지(leverage)하는 데 실패한다.
다른 예에서, 사용자는 전자 디바이스에 저장된 이미지를 마크업 또는 주석화하기를 원할 수 있다. 이러한 예에서, 이미지는 데스크톱 컴퓨터에 저장될 수 있고, 사용자는 데스크톱 컴퓨터의 입력 디바이스들보다 저장된 이미지의 마크업에 더 적합한 스타일러스 및 터치스크린을 갖는 태블릿 디바이스에 액세스할 수 있다. 이러한 예에서, 태블릿 디바이스 상에서 이미지를 보고 (예컨대 스타일러스 및/또는 터치스크린을 이용한 드로잉 입력을 사용하여) 마크업할 수 있고, (예컨대 태블릿 디바이스에서 이미지 또는 마크업을 저장하지 않고) 데스크톱에 저장된 이미지에 대한 직접 입력을 위해 마크업(예컨대 데스크톱에서 마크업의 렌더링을 위한 마크업된 이미지 또는 메타데이터)을 제공할 수 있는 것이 바람직할 수 있다.
다른 예에서, 사용자는 사용자의 기분에 기초하여 애플리케이션의 UI 뷰의 테마(예컨대 테두리, 에지, 배경 또는 다른 부분들에 대한 색상 또는 다른 디스플레이 테마)를 설정하기를 원할 수 있지만, 사용자의 디바이스는 기분을 결정하는 능력이 없을 수 있고/있거나 기분을 나타내는 정보를 캡처하는 센서들이 없을 수 있다. 이러한 예에서, UI 뷰 기분 옵션을 갖는 애플리케이션에 대한 직접 입력을 위한 기분 메타데이터(예컨대 다른 디바이스로부터의 정보를 나타내는 기분을 포함하고/하거나 사용자의 (1 차) 디바이스에서 기분의 결정을 위한 얼굴 포인트 매핑 데이터 또는 센서 데이터를 포함하는 메타데이터)를 획득하기 위해 스마트폰 또는 스마트워치와 같은 다른 디바이스의 카메라 및/또는 생체 측정 센서들(예컨대 심박수 센서들, 모션 센서들, 얼굴 피처(feature)들 및/또는 표정들을 식별하기 위한 AR 데이터 능력과 연관된 카메라들, 온도 센서들, 온도 조절기 및/또는 기타)을 사용할 수 있는 것이 바람직할 수 있다. 다른 예에서, 사용자는 스마트워치로부터의 건강 데이터 또는 활동 데이터를 태블릿 디바이스 또는 스마트폰 상의 건강 모니터링 애플리케이션 또는 활동 모니터링 애플리케이션 내에 입력하기를 원할 수 있다.
본 기술은 디바이스들 중 한 디바이스 상의 애플리케이션에 의해 각각 통신가능하게 액세스가능한 디바이스들의 시스템들을 제공하여, 한 디바이스(예컨대 1 차 디바이스) 상의 애플리케이션이 (예컨대 그 디바이스에 의해 생성된 콘텐츠 또는 데이터의 다른 디바이스에서의 로컬 저장을 요구하지 않고, 다른 디바이스의 개인 데이터에 대한 보안 액세스를 요구하지 않고, 애플리케이션이 실행되고 있는 1 차 디바이스 상의 임의의 다른 애플리케이션으로 스위칭할 필요없이) 원하는 데이터 스트림들, 메타데이터, 또는 콘텐츠를 생성 및 입력하기 위해 시스템 내의 다른 디바이스들 상의 컴포넌트들 및/또는 애플리케이션들을 활용할 수 있다.
본 명세서에 사용되는 바와 같이, 1 차 디바이스는 데스크톱 컴퓨터, 서버 단말기, 스마트폰, 랩톱, 스마트워치와 같은 웨어러블 디바이스, 또는 애플리케이션이 실행되고 있는 또는 다른 디바이스로부터의 데이터 또는 콘텐츠가 요구되는 임의의 다른 컴퓨팅 디바이스와 같은 디바이스일 수 있다. 1 차 디바이스는 때때로 본 명세서에서 "디바이스" 또는 "제1 디바이스"로 지칭될 수 있다. 본 명세서에 사용되는 바와 같이, 2 차 디바이스는 데스크톱 컴퓨터, 서버 단말기, 스마트폰, 랩톱, 웨어러블 디바이스, 예컨대 스마트워치 또는 다른 활동 또는 피트니스 추적 웨어러블 디바이스, 하나 이상의 센서를 갖는 운동 장비, 또는 (예컨대 2 차 디바이스 상에 데이터 또는 콘텐츠를 저장하지 않고, 2 차 디바이스 상에서 동일한 애플리케이션을 동작시키지 않고) 2 차 디바이스로부터 1 차 디바이스 상의 애플리케이션으로의 직접 입력을 위해 2 차 디바이스에서 데이터 또는 콘텐츠를 생성하기 위한, 1 차 디바이스 상의 애플리케이션에 의해 활성화될 수 있는 하나 이상의 애플리케이션 및/또는 하나 이상의 컴포넌트(예컨대 카메라들, 키보드들, 터치스크린들, 스타일러스 디바이스들, 등)를 갖는 임의의 다른 컴퓨팅 디바이스와 같은 디바이스일 수 있다.
2 차 디바이스는 때때로 본 명세서에서 "원격 디바이스" 또는 "제2 디바이스"로 지칭될 수 있다. 제2 디바이스가 때때로 본 명세서에서 제1 디바이스의 하우징 또는 인클로저와 별개의 하우징 또는 인클로저 내에 배치되는 원격 디바이스로서 기술되지만, 제2 디바이스는, 일부 구현예들에서, 제1 디바이스와 공통의 하우징 또는 인클로저 내에 배치되는 제2 디바이스일 수 있다(예컨대 본 발명의 기술은 본 명세서에서 예로서 일반적으로 기술되는 디바이스간 시나리오들에 더하여 장치간 시나리오들에 적용될 수 있다). 제2 디바이스는 유선(예컨대 범용 직렬 버스 등) 또는 무선(예컨대 근거리 통신, 블루투스, 와이파이, 이들의 조합, 및/또는 임의의 다른 통신 프로토콜들 및/또는 하드웨어 및/또는 이들의 조합) 연결에 의해 1 차 디바이스에 페어링, 페어링 해제, 및/또는 통신가능하게 결합될 수 있다.
한 동작 시나리오의 1 차 디바이스가 다른 동작 시나리오에서 2 차 디바이스로서 사용될 수 있고, 한 동작 시나리오에서의 2 차 또는 원격 디바이스가 다른 동작 시나리오에서 1 차 디바이스로서 사용될 수 있다는 것을 이해해야 한다. 이하에서 더 상세히 설명되는 바와 같이, 1 차 디바이스 상의 애플리케이션이 이용가능한 2 차 또는 원격 디바이스들을 그 디바이스 상의 입력 피처들에 의해 분류할 수 있어서, 사용자(또는 애플리케이션)는, 사용자가 원하는 임의의 특정 유형의 데이터 또는 콘텐츠를 생성 및 입력하는 데 가장 적합한 디바이스를 선택할 수 있다. 일부 예들에서, 특정 디바이스들은 함께 사용되는 것으로 화이트 리스트(white list) 처리되거나, 그렇지 않은 것으로 블랙 리스트(black list) 처리될 수 있다. 예를 들어, 1 차 및/또는 2 차 디바이스에서 사용자 선호도가 설정되어, 그 디바이스의 능력들이 다른 디바이스에 대한 직접 입력을 위해 사용되는 것을 선택적으로 턴온 또는 턴 오프(예컨대 차단)할 수 있다. 다른 예에서, 사용자는 애플리케이션에 대한 직접 입력을 위해 데이터 또는 콘텐츠를 획득 및/또는 교환하는 데 사용될 수 있는 알려진(및/또는 신뢰되는) 디바이스들의 세트로서 설정(예컨대 화이트 리스트)할 수 있다.
1 차 및 2 차 디바이스들은 블루투스 또는 다른 직접 피어-투-피어 통신과 같은 유선 또는 무선 통신, 근거리 네트워크(local area network)를 통한 통신, 또는 인터넷과 같은 더 넓은 영역 네트워크들을 통해 통신가능하게 결합될 수 있다. 1 차 및 2 차 디바이스들은, 디바이스들이 연속적인 통신 상태에 있지 않을 수 있지만(예컨대 디바이스들 중 하나 이상이 저전력 또는 간헐적 폴링 모드에 있는 경우), 각각이 통신을 위한 다른 디바이스의 이용가능성을 인식하고 적어도 하나가 다른 디바이스 상에서 이용가능한 피처들을 인식할 때 통신가능하게 결합될 수 있다.
따라서, 본 기술은, 예컨대 전술한 바와 같은 기존의 콘텐츠 편집기 애플리케이션들 및 입력 컴포넌트들을 갖는 개별 디바이스들에 비해, 더 효과적이고 효율적인 전자 디바이스들의 시스템을 제공한다.
도 1은 하나 이상의 구현예에 따른, 제2 디바이스로부터 제1 디바이스로 데이터 또는 콘텐츠의 직접 입력이 구현될 수 있는 예시적인 네트워크 환경(100)을 도시한다. 그러나, 도시된 컴포넌트들 모두가 모든 구현예들에서 사용될 수 있는 것은 아니며, 하나 이상의 구현예는 도면에 도시된 것들보다 추가의 또는 상이한 컴포넌트들을 포함할 수 있다. 컴포넌트들의 배열 및 유형의 변형들은 본 명세서에 제시된 바와 같은 청구범위의 사상 또는 범주로부터 벗어남이 없이 이루어질 수 있다. 추가의 컴포넌트들, 상이한 컴포넌트들, 또는 더 적은 컴포넌트들이 제공될 수 있다.
네트워크 환경(100)은 전자 디바이스(110), 전자 디바이스(112), 전자 디바이스(115), 및 서버(120)를 포함한다. 네트워크(106)는 전자 디바이스(110) 및/또는 서버(120), 전자 디바이스(112) 및/또는 서버(120), 전자 디바이스(115) 및/또는 서버(120), 전자 디바이스(110) 및/또는 전자 디바이스(112), 전자 디바이스(112) 및/또는 전자 디바이스(115), 및/또는 전자 디바이스(110) 및/또는 전자 디바이스(115)를 통신가능하게(직접적으로 또는 간접적으로) 결합시킬 수 있다. 하나 이상의 구현예에서, 네트워크(106)는 인터넷을 포함하거나 인터넷에 통신가능하게 결합될 수 있는 디바이스들의 상호연결된 네트워크일 수 있다. 설명의 목적으로, 네트워크 환경(100)은 도 1에서 전자 디바이스(110), 전자 디바이스(112), 전자 디바이스(115), 및 서버(120)를 포함하는 것으로 도시된다. 그러나, 네트워크 환경(100)은 임의의 수의 전자 디바이스들 및 임의의 수의 서버들을 포함할 수 있다.
전자 디바이스(110)는, 예를 들어, 데스크톱 컴퓨터, 랩톱 컴퓨터와 같은 휴대용 컴퓨팅 디바이스, 스마트폰, 주변 디바이스(예컨대 디지털 카메라, 헤드폰), 태블릿 디바이스, 워치, 밴드 등과 같은 웨어러블 디바이스, 또는 WLAN 무선통신장치들, 셀룰러 무선통신장치들, 블루투스 무선통신장치들, 지그비 무선통신장치들, 근거리 통신(NFC) 무선통신장치들, 및/또는 다른 무선 무선통신장치들과 같은, 예를 들어, 하나 이상의 무선 인터페이스를 포함하는 임의의 다른 적절한 디바이스일 수 있다. 도 1에서, 예를 들어, 전자 디바이스(110)는 데스크톱 컴퓨터로서 도시되어 있다. 전자 디바이스(110)는 도 10에 관련하여 아래에서 논의되는 전자 시스템일 수 있고/있거나 그의 전부 또는 일부를 포함할 수 있다. 하나 이상의 구현예에서, 전자 디바이스(110)는 카메라(예컨대 하나 이상의 이미지 센서 및 하나 이상의 렌즈, 필터, 액추에이터, 연관된 전자장치, 및/또는 다른 카메라 컴포넌트) 및 키보드를 포함할 수 있고, 콘텐츠 편집기 애플리케이션, 파일 관리자 애플리케이션과 같은 애플리케이션, 또는 애플리케이션에 입력을 제공(예컨대 유선 또는 무선 피어-투-피어 연결을 통해 직접 또는 전자 디바이스(111), 전자 디바이스(112) 및/또는 전자 디바이스(115)와의 네트워크(106)를 통해)하기 위해 전자 디바이스(111), 전자 디바이스(112) 및/또는 전자 디바이스(115)의 컴포넌트들과 협력하도록 배열된 다른 애플리케이션들을 제공할 수 있다.
전자 디바이스(112)는 터치스크린, 카메라, 마이크로폰 및/또는 다른 컴포넌트들을 포함할 수 있고, 예를 들어, 터치스크린을 포함하는 랩톱 컴퓨터와 같은 휴대용 컴퓨팅 디바이스, 터치스크린을 포함하는 스마트폰, 터치스크린을 포함하는 주변 디바이스(예컨대 디지털 카메라, 헤드폰), 터치스크린을 포함하는 태블릿 디바이스, 워치, 밴드 등과 같은 터치스크린을 포함하는 웨어러블 디바이스, 예를 들어, 터치스크린을 포함하는 임의의 다른 적절한 디바이스, 또는 터치패드를 갖는 임의의 전자 디바이스일 수 있다. 전자 디바이스(112)는 자이로스코프, 가속도계, 글로벌 포지셔닝 시스템(global positioning system, GPS) 컴포넌트들과 같은 모션 센서들, 나침반과 같은 자기 센서들 등을 포함할 수 있고, 예를 들어, 스마트폰 또는 미디어 플레이어 디바이스일 수 있다. 카메라는 캡처 이미지들 또는 비디오 스트림들 내의 심도를 결정하고/하거나 얼굴 피처들 및/또는 표정들을 식별하기 위한 연관된 증강 현실 회로부 또는 소프트웨어를 포함하거나 가질 수 있다.
하나 이상의 구현예에서, 전자 디바이스(112)는 터치스크린을 포함하지 않을 수 있지만, 가상 현실 또는 증강 현실 환경에서와 같이 터치스크린 유사 제스처들을 지원할 수 있다. 하나 이상의 구현예에서, 전자 디바이스(112)는 터치패드를 포함할 수 있다. 도 1에서, 예를 들어, 전자 디바이스(112)는 터치스크린을 갖는 스마트폰으로서 도시되어 있다. 하나 이상의 구현예에서, 전자 디바이스(112)는 도 10과 관련하여 이하에서 논의되는 전자 시스템일 수 있고/있거나 그의 전부 또는 일부를 포함할 수 있다. 하나 이상의 구현예에서, 전자 디바이스(112)는 카메라, 터치스크린, 및 마이크로폰을 포함할 수 있고, 콘텐츠 편집기 애플리케이션, 파일 관리자 애플리케이션과 같은 애플리케이션, 또는 애플리케이션에 입력을 제공(예컨대 유선 또는 무선 피어-투-피어 연결을 통해 직접 또는 전자 디바이스(110), 전자 디바이스(111) 및/또는 전자 디바이스(115)와의 네트워크(106)를 통해)하기 위해 전자 디바이스(110), 전자 디바이스(111) 및/또는 전자 디바이스(115)의 컴포넌트들과 협력하도록 배열된 다른 애플리케이션들을 제공할 수 있다.
전자 디바이스(115)는 터치스크린, 카메라, 마이크로폰 및/또는 다른 컴포넌트들 또는 스타일러스 입력 디바이스와 같은 주변 디바이스들을 포함할 수 있고, 예를 들어, 터치스크린을 포함하는 랩톱 컴퓨터와 같은 휴대용 컴퓨팅 디바이스, 터치스크린을 포함하는 스마트폰, 터치스크린을 포함하는 주변 디바이스(예컨대 디지털 카메라, 헤드폰), 터치스크린을 포함하는 태블릿 디바이스, 워치, 밴드 등과 같은 터치스크린을 포함하는 웨어러블 디바이스, 예를 들어, 터치스크린을 포함하는 임의의 다른 적절한 디바이스, 또는 터치패드를 갖는 임의의 전자 디바이스일 수 있다. 전자 디바이스(115)는 자이로스코프, 가속도계, 글로벌 포지셔닝 시스템(GPS) 컴포넌트들과 같은 모션 센서들, 나침반과 같은 자기 센서들 등을 포함할 수 있고, 예를 들어, 태블릿 디바이스 또는 랩톱 컴퓨터와 같은 휴대용 컴퓨팅 디바이스일 수 있다. 카메라는 캡처 이미지들 또는 비디오 스트림들 내의 심도를 결정하고/하거나 얼굴 피처들 및/또는 표정들을 식별하기 위한 연관된 증강 현실 회로부 또는 소프트웨어를 포함하거나 가질 수 있다.
하나 이상의 구현예에서, 전자 디바이스(115)는 터치스크린을 포함하지 않을 수 있지만, 가상 현실 또는 증강 현실 환경에서와 같이 터치스크린 유사 제스처들을 지원할 수 있다. 하나 이상의 구현예에서, 전자 디바이스(115)는 터치패드를 포함할 수 있다. 도 1에서, 예를 들어, 전자 디바이스(115)는 터치스크린을 갖는 태블릿 디바이스로서 도시되어 있다. 하나 이상의 구현예에서, 전자 디바이스(115)는 도 10과 관련하여 아래에서 논의되는 전자 시스템일 수 있고/있거나 그의 전부 또는 일부를 포함할 수 있다. 하나 이상의 구현예에서, 전자 디바이스(115)는 카메라, 터치스크린, 마이크로폰, 및 스타일러스 입력 디바이스를 포함할 수 있고, 콘텐츠 편집기 애플리케이션, 파일 관리자 애플리케이션과 같은 애플리케이션, 또는 애플리케이션에 입력을 제공(예컨대 유선 또는 무선 피어-투-피어 연결을 통해 직접 또는 전자 디바이스(110), 전자 디바이스(111) 및/또는 전자 디바이스(112)와의 네트워크(106)를 통해)하기 위해 전자 디바이스(110), 전자 디바이스(111) 및/또는 전자 디바이스(112)의 컴포넌트들과 협력하도록 배열된 다른 애플리케이션들을 제공할 수 있다.
전자 디바이스(111)는 터치스크린, 카메라, 마이크로폰 및/또는 다른 컴포넌트들(예컨대 심박수 센서 또는 심전도 센서와 같은 건강 센서들), 자이로스코프, 가속도계, 글로벌 포지셔닝 시스템(GPS) 컴포넌트들과 같은 모션 센서들, 나침반과 같은 자기 센서들 등을 포함할 수 있고, 예를 들어, 스마트워치와 같은 웨어러블 컴퓨팅 디바이스일 수 있다. 카메라는 캡처된 이미지들 또는 비디오 스트림들 내의 심도를 결정하고/하거나 얼굴 피처들 및/또는 표정들을 식별하기 위한 연관된 증강 현실 회로부 또는 소프트웨어를 포함하거나 가질 수 있다. 하나 이상의 구현예에서, 전자 디바이스(111)는 터치스크린을 포함하지 않을 수 있지만, 가상 현실 또는 증강 현실 환경에서와 같이 터치스크린 유사 제스처들을 지원할 수 있다.
도 1에서, 예를 들어, 전자 디바이스(111)는 터치스크린을 갖는 스마트워치로서 도시되어 있다. 하나 이상의 구현예에서, 전자 디바이스(111)는 도 10과 관련하여 이하에서 논의되는 전자 시스템일 수 있고/있거나 그의 전부 또는 일부를 포함할 수 있다. 하나 이상의 구현예에서, 전자 디바이스(111)는 카메라, 터치스크린, 및 마이크로폰을 포함할 수 있고, 콘텐츠 편집기 애플리케이션, 파일 관리자 애플리케이션, 또는 (예컨대 전자 디바이스(110), 전자 디바이스(112) 및/또는 전자 디바이스(115)와 유선 또는 무선 피어-투-피어 연결을 통해 직접 또는 네트워크(106)를 통해) 애플리케이션에 입력을 제공하기 위해 전자 디바이스(110), 전자 디바이스(112) 및/또는 전자 디바이스(115)의 컴포넌트들과 협력하도록 배열된 다른 애플리케이션들과 같은 애플리케이션을 제공할 수 있다.
하나 이상의 구현예에서, 서버(120)는 전자 디바이스들(110, 111, 112, 및/또는 115) 사이의 안전한 데이터 교환을 관리한다. 그러나, 전자 디바이스들(110, 111, 112, 및/또는 115)은 블루투스 신호들, 직접 WiFi 신호들, 및/또는 유선 접속들과 같은 무선 근거리 통신(NFC) 신호들을 사용하여 데이터를 직접적으로(예컨대 네트워크(106) 또는 서버(120) 없이) 교환할 수 있다는 것을 이해해야 한다. 예를 들어, 전자 디바이스들(110, 111, 112, 115) 각각은 그 디바이스와의 통신을 위해 이용가능한 디바이스들에 대한 식별자들을 검색, 식별, 및 저장하는 회로부(예컨대 애플리케이션 프로그래밍 인터페이스(API))를 포함할 수 있다. 특정 디바이스와의 통신을 위해 이용가능한 디바이스들은, 특정 디바이스와 NFC 또는 직접 WiFi 통신의 범위 내에 있는 근처의 디바이스들 및/또는 (예컨대 서버(120)를 이용하여) 공통 사용자 계정에 등록된 디바이스들과 같은 공통 사용자 디바이스들일 수 있다.
API는, 서로 액세스가능한 사용자 자신의 디바이스들(예컨대 서버(120)에서 사용자의 계정에 등록된 디바이스들)의 리스트를 그 디바이스들이 근접해 있는지 여부에 관계없이, 그리고/또는 서로 근접해 있는 디바이스들의 리스트를 그들이 동일한 사용자 계정에 등록되어 있는지 여부에 관계없이, 저장하는 데 사용될 수 있다. 이러한 방식으로, 단거리 통신 범위에 있는 디바이스들의 시스템이 디바이스의 소유자에 관계없이 통신가능하게 결합될 수 있고/있거나 공통 소유자 또는 소유자들의 세트에 등록되고 서버(120)에 접속된 디바이스들의 시스템이 근접성과 무관하게 통신가능하게 결합될 수 있다. 일부 시나리오들에서, 공통 사용자에 등록된 근접한 디바이스들만이 이용가능한 디바이스들의 리스트 내에 포함될 수 있다.
각각의 디바이스의 API는 또한 그 디바이스의 피처들(예컨대 카메라, 터치스크린 또는 터치패드, 마이크로폰, 또는 스타일러스 입력 디바이스와 같은 디바이스의 컴포넌트들)을 식별하는 데 사용될 수 있다. API는 이용가능한 디바이스들의 리스트 내의 각각의 디바이스에 대해, 식별된 이용가능한 피처들의 리스트를 저장하는 데 사용될 수 있다.
예를 들어, 전자 디바이스들(110, 111, 112, 115) 각각은 (예컨대 블루투스 저 에너지, NFC 프로토콜들, 또는 다른 무선 통신 프로토콜들을 사용하여) 그 디바이스의 존재를 나타내는 광고 신호들 및/또는 그 디바이스의 이용가능한 피처들을 나타내는 피처 플래그들을 주기적으로 송신 또는 브로드캐스트할 수 있다. 예를 들어, 디바이스는, 그 디바이스가 다른(예컨대 원격) 디바이스들에 입력을 제공하는 데 사용될 수 있는 이용가능한 카메라, 스타일러스, 터치스크린, 센서 등을 가진다는 것을 나타내는 피처 플래그를 광고할 수 있다. 피처 플래그들은 전자 디바이스의 일반적인 존재-표시 광고 신호들과 함께 광고될 수 있거나, 신뢰되는 원격 디바이스가 식별되고 그 신뢰되는 디바이스와 통신이 확립되면 피처 플래그들이 광고될 수 있다. 신뢰되는 디바이스들은 (예컨대 블루투스 통신 교환을 통해) 디바이스와 페어링되는 디바이스들, 공통 WiFi 네트워크와 같은 공통 네트워크에 디바이스와 통신가능하게 결합되는 디바이스들, 및/또는 (예컨대 계정 서버, 디바이스, 및 신뢰되는 디바이스 사이의 통신에 의해 검증되는 바와 같이) 공통 사용자 계정에 등록된 디바이스들일 수 있다. 피처 플래그들은 기본적으로 브로드캐스트될 수 있거나 피처 플래그들은 (예컨대 디바이스의 사용자에 의해) 원격 사용을 위해 인에이블되었던 개별 피처들 또는 피처들의 세트들에 대해서만 브로드캐스트될 수 있다.
API(208)와 같은 API 및/또는 콘텐츠 편집기 애플리케이션, 파일 관리자 애플리케이션, 또는 다른 애플리케이션과 같은 한 디바이스 상의 애플리케이션은 그 디바이스에 직접 입력을 제공하기 위해 이용가능한 디바이스들 및/또는 이용가능한 디바이스들의 이용가능한 피처들을 나타내는 정보를 저장할 수 있다. 디바이스는 이용가능한 디바이스들 중 하나 이상과 통신 연결을 유지할 수 있거나, 한 디바이스의 피처를 이용하라는 요청이 다른 디바이스에서 수신되는 경우 신속한 재연결을 위해 신뢰 관계(예컨대 페어링)를 (예컨대 주기적으로) 유지하면서 연결해제할 수 있다.
(예로서) 디바이스들이 다른 디바이스로부터 멀리 운반되거나, 사용자 계정(예컨대 다른 디바이스와 연관된 계정)으로부터 로그 아웃되거나, 디바이스의 사용자에 의해 액세스 차단되거나, 공통 네트워크로부터 다른 디바이스와 연결해제될 때, 디바이스들은 다른 디바이스 상의 이용가능한 디바이스 리스트로부터 제거될 수 있다.
콘텐츠 편집기 애플리케이션, 파일 관리자 애플리케이션, 또는 전자 디바이스(110, 111, 112, 또는 115) 상에서 실행되는 다른 애플리케이션들과 같은 애플리케이션은 그 디바이스의 API를 사용하여 이용가능한 디바이스 리스트를 획득할 수 있고, (예컨대 그 디바이스에 대한 피처들의 리스트에 기초하여) API에 의해 제공되는 리스트 내의 어떤 원격 디바이스들이 애플리케이션에 대해 다양한 입력 유형들을 제공하도록 애플리케이션에 의해 사용될 수 있는지를 결정할 수 있다. 이어서, 애플리케이션은 (예컨대 선택을 위해, 이용가능한 디바이스들을 리스팅함으로써 그리고/또는 이용가능한 입력 유형들을 리스팅함으로써) 리스트 내의 디바이스에 액세스하기 위한 선택가능한 옵션들을 사용자에게 제공할 수 있다. 특히 원격 디바이스에서 생성된 콘텐츠를 1 차 디바이스의 콘텐츠 편집기 애플리케이션 내에 직접 삽입하는 예시적인 시나리오에서, 원격 디바이스로부터의 입력을 삽입하는 예가 도 2, 도 3 및 도 4에 도시되어 있다. 그러나, 콘텐츠가 콘텐츠 편집기 애플리케이션에 입력되는 도 2 내지 도 4의 예는 단지 예시적인 것이고, 다른 시나리오들에서, 도 2 내지 도 4와 연관되어 기술된 동작들이 이미지 주석 데이터, AR 데이터, 센서 데이터 등과 같은 메타데이터와 같은 다른 데이터를 파일 관리자 애플리케이션 및/또는 사용자 인터페이스 뷰를 제공하는 임의의 다른 애플리케이션과 같은 다른 애플리케이션에 직접 입력하는 데 사용될 수 있다는 것을 이해해야 한다.
도 2는 전자 디바이스(110) 상의 콘텐츠 편집기 애플리케이션의 동작 동안 전자 디바이스들(110, 112, 115)의 다양한 상태들을 도시한다. 도 2에 도시된 바와 같이, 전자 디바이스(110)의 통신 회로부(예컨대 API(208)를 사용함)는 원격 전자 디바이스들(112, 115)과 통신하여, 이들 디바이스들을 신뢰되고/되거나 전자 디바이스(110)에 통신가능하게 결합된 이용가능한 디바이스들로서 식별하고, 각각의 디바이스의 피처들, 예컨대 전면 카메라, 후면 카메라, 터치스크린, 마이크로폰, 키보드, 건강 센서(예컨대 심박수 센서), 모션 센서(예컨대 가속도계, 자이로스코프, 나침반) 등과 같은 하나 이상의 센서(도 2에 명시적으로 도시되지 않음)를 식별한다.
콘텐츠 편집기 애플리케이션과 같은 애플리케이션에 대한 코드가 전자 디바이스(110)의 프로세서에 의해 실행될 때, 전자 디바이스(110)는, 이러한 예에서 UI 뷰를 수정하기 위해 콘텐츠가 입력될 수 있고/있거나 다른 데이터가 입력될 수 있는 콘텐츠 편집기 뷰로서 구현되는 사용자 인터페이스(UI) 뷰(200)를 디스플레이한다. 도 2의 예에서, 사용자는 디바이스의 키보드, 터치스크린, 또는 오디오 입력 메커니즘을 사용하여 영숫자 텍스트(204)(예컨대 "Sally ride this bike:")를 입력했고, 입력될 다음 콘텐츠의 위치를 나타내기 위해 커서(206)가 UI 뷰(200) 내에 제공된다. 도 2의 예에서 UI 뷰(200)는 워드 프로세싱 애플리케이션에서의 문서의 표현이다. 그러나, 콘텐츠 편집기 뷰는 (예로서) 프리젠테이션 슬라이드 데크, 이메일, 노트, 미디어 콘텐츠 디스플레이, 이미지 디스플레이, 비디오 디스플레이, 또는 워드 프로세서, 프레젠테이션 편집기, 이메일 편집기, 메시징 애플리케이션, 스프레드시트, 이미지 편집기 또는 비디오 편집기와 같은 미디어 편집기를 위한 사용자 콘텐츠에 대한 임의의 다른 컨테이너의 표현일 수 있다.
이러한 예에서, 사용자는 UI 뷰(200) 내로의 삽입을 위해 샐리의 자전거의 이미지를 캡처하고 입력하기를 원한다. 도시된 바와 같이, UI 뷰(200)는 선택가능한 옵션들(210)을 포함하며, 선택가능한 옵션들은, 선택될 때, 콘텐츠 편집기 애플리케이션으로 하여금 선택가능한 삽입 옵션들(220)의 리스트를 제공하게 하는 입력 또는 삽입 옵션을 포함한다. 도 2에 도시된 바와 같이, 전자 디바이스(110)는 또한 콘텐츠 편집기 애플리케이션 이외의 전자 디바이스(110)의 양태들을 제어하기 위해 선택될 수 있는 시스템 제어 옵션들(212)을 포함한다. 예를 들어, 전자 디바이스(110)의 사용자에 의해 옵션들(210) 중 하나가 선택될 때, 콘텐츠 편집기 애플리케이션은, API(208)를 통해, 이용가능한 디바이스들에 대한 이용가능한 피처들(226)을 포함하는, 이용가능한 디바이스들의 리스트(225)를 획득할 수 있다. 콘텐츠 편집기 애플리케이션은 리스트(225)를 수신할 수 있고, 이용가능한 피처들(226)에 기초하여, 이용가능한 피처들(226)에 의해 제공될 수 있는 입력 유형들(예컨대 이미지 입력, 이미지 마크업 입력, 드로잉 입력, 필기 인식 입력, 센서 입력, 건강 데이터 입력, 활동 데이터 입력, AR 데이터 입력, 기분 입력 등)을 식별할 수 있다.
도 2의 예에서, (예컨대 삽입 옵션의 선택에 응답하여 디스플레이되는) 선택가능한 삽입 옵션들(220)의 리스트는, 원격 디바이스를 이용하여(예컨대 터치 스크린 또는 터치패드 및/또는 스타일러스 입력 디바이스를 활용하는 원격 디바이스 상의 드로잉 입력 애플리케이션 및/또는 필기 인식 애플리케이션을 사용하여) 프리핸드 스케치 입력 및/또는 필기 글자들, 숫자들, 또는 문자들과 같은 드로잉 입력(예컨대 필기 또는 필기에서 인식된 문자들의 디지털 표현으로서의 입력)을 입력하기 위한 옵션(222), 및 원격 디바이스를 사용하여 이미지를 캡처하기 위한 옵션(224)을 포함한다.
또한, 도 2에 명시적으로 도시되지 않았지만, 원격 디바이스로부터 획득되고 제공될 수 있는 다른 콘텐츠 또는 데이터 유형들에 대한 삽입 옵션들(220)이 또한 제공될 수 있다는 것을 이해해야 한다. 예를 들어, 삽입 옵션들(220)은 심박수 데이터 또는 활동 데이터와 같은 (예컨대 스마트워치로부터의) 건강 데이터(예컨대 심박수 값, 심박수 그래프, 다른 심전도 데이터, 걸음 데이터, 칼로리 연소 데이터, 또는 사용자의 심장 활동을 나타내는 오디오 또는 비디오 파일), (예컨대 자이로스코프, 글로벌 포지셔닝 시스템(GPS) 컴포넌트, 또는 스마트워치, 스마트폰, 또는 태블릿 디바이스의 가속도계와 같은 모션 센서로부터의) 모션 데이터, 애니모지 또는 다른 애니메이션화된 콘텐츠, 증강 현실 콘텐츠 또는 데이터(예컨대 증강 현실 비디오 스트림들 및/또는 연관된 메타데이터), 및/또는 기분 데이터(예컨대 스마트워치에 의해 캡처된 생체 측정 데이터를 사용하여 스마트워치에 의해, 얼굴 포인트 매핑 데이터를 식별하고/하거나 얼굴 포인트 매핑 데이터로부터의 정보를 나타내는 기분을 생성할 수 있는 얼굴 분석 능력들을 갖는 카메라 애플리케이션에 의해 결정되거나, 생체 측정 데이터, 얼굴 분석 데이터, 또는 다른 디바이스로부터의 센서 데이터와 같은 다른 데이터를 사용하여 전자 디바이스(110)에서 결정되는 바와 같은, 콘텐츠 편집기 애플리케이션, 다른 애플리케이션, 전자 디바이스(110)의 다른 피처들의 테마를 설정하는 데 사용하기 위한 데이터)를 입력하기 위한 옵션들을 포함할 수 있다.
도 2의 예에서, 콘텐츠 편집기 애플리케이션은, API(208)를 통해 획득되는 바와 같이, 리스트(225) 내의 각각의 디바이스에 대한 이용가능한 디바이스들(예컨대 전자 디바이스(110)에 통신가능하게 결합되는 디바이스 "A", "B", 및 "C")의 리스트(225) 및 리스트 내의 각각의 디바이스에 대한 대응하는 데이터 생성 피처들(226)에 기초하여 옵션들(222, 224)을 생성하였다. 이러한 예에서, 디바이스 "A"는 카메라, 터치스크린, 및 마이크로폰을 갖는 전자 디바이스(112)일 수 있고, 디바이스 "B"는 카메라, 터치스크린, 마이크로폰, 및 스타일러스 입력 디바이스(121)를 갖는 전자 디바이스(115)일 수 있고, 디바이스 "C"는 서버(120)에서 전자 디바이스(110)와 공통 사용자 계정에 등록되고 네트워크(106)에 접속된 원격 디바이스(예컨대 터치스크린 및 마이크로폰을 갖는 스마트워치)일 수 있다. 도 2의 구성에서, 전자 디바이스들(112, 115)은 비활성 상태(예컨대 저전력) 상태에 있다.
전자 디바이스(110)는, 이러한 예의 콘텐츠 편집기 애플리케이션에서, 통신가능하게 결합된 디바이스들의 리스트(225) 및 통신가능하게 결합된 디바이스들 각각에 대한 하나 이상의 데이터 생성 피처(226)의 표시들을 획득할 수 있다. 이어서, 전자 디바이스(110)는 콘텐츠 편집기 애플리케이션을 이용한 디스플레이를 위해, 원격으로 획득가능 콘텐츠 유형들의 리스트(예컨대 드로잉 콘텐츠, 이미지 콘텐츠, 웨어러블 디바이스 및/또는 다른 운동 장비로부터의 걸음 데이터, 심박수 데이터, 심전도 데이터, 칼로리 데이터, 혈압 데이터 또는 다른 데이터와 같은 건강 데이터, 이미지 편집 메타데이터, 사용자 및/또는 디바이스의 주변부 및/또는 사용자 및/또는 주변부의 하나 이상의 이미지 상에 오버레이되거나 그렇지 않으면 그와 조합될 가상 콘텐츠를 표현하는 데이터와 같은 증강 현실(AR) 데이터, 및/또는 광 센서 데이터, 근접 센서 데이터, 모션 센서 데이터 등과 같은 센서 데이터)를 제공할 수 있다.
도 2의 예에서, 디바이스들 "A", "B", 및 "C" 모두가 터치 스크린들을 갖기 때문에, 콘텐츠 편집기 애플리케이션은 디바이스들 "A", "B", 및 "C" 각각에 링크된 드로잉 입력 옵션(222)을 제공한다. 일례에서, 디바이스 "B"가 스타일러스 입력 디바이스를 포함하기 때문에, 콘텐츠 편집기 애플리케이션은 입력을 드로잉하기에 가장 적합한 디바이스로서 디바이스 "B" 를 식별할 수 있고, 디바이스 "B"를 기본 드로잉 입력 디바이스로서, 디바이스들 "A" 및 "C"를 대체 옵션들로서 설정할 수 있다. 다른 예에서, 디바이스들 "A", "B", 및 "C"는 사용자 선택을 위해 드로잉 입력에 대한 순위가 지정되지 않은 옵션들로서 제공될 수 있다.
도 2의 예에서, 디바이스들 "A" 및 "B" 가 카메라들을 갖기 때문에, 콘텐츠 편집기 애플리케이션은 디바이스들 "A" 및 "B" 각각에 링크된 이미지 캡처 입력 옵션(224)을 제공한다. 전자 디바이스(110)는, 콘텐츠 편집기 애플리케이션을 이용하여, 이미지 캡처 입력 옵션(224)의 선택과 같은 원격으로 획득가능한 콘텐츠 유형들 중 하나의 선택을 수신할 수 있다.
도 3은 이미지 캡처 입력 옵션(224)이 선택된 동작 시나리오에서, 전자 디바이스들(110, 112, 115)의 예를 도시한다. 도 3에 도시된 바와 같이, 전자 디바이스(110)에서의 이미지 캡처 입력 옵션(224)의 선택에 응답하여, 전자 디바이스(110)는, 콘텐츠 편집기 애플리케이션을 이용하여, 이미지를 제공하기 위해 이용가능한 디바이스들로서 제2 전자 디바이스(전자 디바이스(112) 또는 디바이스 "A") 및 제3 전자 디바이스(전자 디바이스(115) 또는 디바이스 "B")를 식별한다. 이어서, 전자 디바이스(110)는, 옵션(224)의 선택에 응답하여, 전자 디바이스(110)의 콘텐츠 편집기 애플리케이션을 이용하여, 전자 디바이스(112)의 카메라 및 전자 디바이스(115)의 카메라를 활성화시킨다.
도 3에 도시된 바와 같이, 전자 디바이스(110)의 콘텐츠 편집기 애플리케이션으로부터 전자 디바이스들(112, 115)의 카메라들을 활성화시키는 것은, 전자 디바이스(112) 상의 카메라 애플리케이션 및 전자 디바이스(115) 상의 카메라 옵션을 활성화하여, 전자 디바이스(112)가 이미지 미리보기(300) 및 이미지 캡처 옵션(302)을 디스플레이하고, 전자 디바이스(115)가 이미지 프리뷰(304) 및 이미지 캡처 옵션(306)을 디스플레이하도록 한다. 이러한 구성에서, (예컨대 API(208)를 통한) 콘텐츠 편집기 애플리케이션이 전자 디바이스들(112, 115) 둘 모두의 카메라 애플리케이션들을 활성화하여, 사용자는 이미지를 캡처하기 위해 이들 디바이스들 중 하나를 선택할 수 있다. 도 3의 예에서, 삽입될 이미지의 위치를 나타내는 플레이스홀더(307)가 UI 뷰(200) 내에 디스플레이될 수 있다.
카메라 애플리케이션(또는 드로잉 입력 애플리케이션, 센서 입력 애플리케이션 등과 같은 다른 원격 입력 애플리케이션)이 각각의 디바이스의 잠금화면 외부에서 (예컨대 카메라 또는 다른 애플리케이션의 사용을 위해 그 디바이스에서 사용자 인증을 요구하지 않고) 활성화될 수 있어서, 사용자는 디바이스에 저장된 잠재적으로 민감한 사용자 콘텐츠에 대한 액세스를 제공하지 않고 디바이스를 동작시켜 입력을 생성하고 삽입할 수 있다. 일부 구현예들에서, 전자 디바이스(110) 상에서 실행되는 애플리케이션에는, 다른 애플리케이션 및/또는 2 차 디바이스의 컴포넌트가 입력을 위해 활성화될 때, 2 차 디바이스(예컨대 전자 디바이스(111, 112, 또는 115) 상의 보안 메커니즘, 예컨대 잠금 화면 또는 패스코드/패스워드를 우회하는 능력이 제공될 수 있다. 예를 들어, 하나 이상의 구현예에서, 전자 디바이스(110) 상의 애플리케이션에 이용가능한 디바이스들로서 식별되었으며, 2 차 디바이스와 연관되고/연관되거나 2 차 디바이스에 로그인된 사용자 계정이 1 차 디바이스와 연관되고/연관되거나 1 차 디바이스에 로그인된 사용자 계정과 동일한 2 차 디바이스들에 대해, 2 차 디바이스에 대한 보안 메커니즘을 우회하는 것이 허용될 수 있다.
또한, 전자 디바이스(112) 또는 전자 디바이스(115) 상에서 콘텐츠 편집기 애플리케이션(예컨대 동일한 워드 프로세서 애플리케이션 또는 동일한 이메일 클라이언트)을 활성화시키거나 동작시키지 않고 전자 디바이스(110) 상의 콘텐츠 편집기 애플리케이션 내로 콘텐츠를 삽입하기 위해 카메라 애플리케이션(또는 필기 입력 애플리케이션과 같은 다른 원격 입력 애플리케이션)이 사용될 수 있음에 유의해야 한다.
도 3의 예에서, 전자 디바이스(110)에서 콘텐츠 편집기 애플리케이션은 원하는 이미지를 생성하고 삽입하기 위해 전자 디바이스(112)가 선택되었다는 표시를 수신한다. 따라서, 전자 디바이스(110)에서 콘텐츠 편집기 애플리케이션은 전자 디바이스(115) 상의 카메라 및 카메라 애플리케이션을 비활성화시킨다. 전자 디바이스(110)에서 콘텐츠 편집기 애플리케이션에 대한 표시는 하나 이상의 구현예에서 이미지 캡처 동작에서의 이미지 캡처 옵션(302)의 선택에 의해 전자 디바이스(112)를 이용하여 이미지를 캡처하는 행동일 수 있다. 그러나, 도 3의 예에서, 전자 디바이스(112)가 이동되었고(예컨대 사용자에 의해 픽업됨) 그 움직임이 전자 디바이스(112)에 의해(예컨대 전자 디바이스(112)의 관성 측정 유닛 또는 가속도계에 의해) 검출되었으며, 이는 전자 디바이스(112)로 하여금 전자 디바이스(112)가 사용자에 의해 선택되었다는 표시를 전자 디바이스(110)에 대해 생성하게 하였다.
도 3의 예에서, 전자 디바이스(110)의 콘텐츠 편집기 애플리케이션은, (예컨대 전자 디바이스(110)의 UI 뷰(200) 내의) 디스플레이를 위해, 선택된 전자 디바이스(112)에 디스플레이된 이미지 미리보기(300)를 미러링하는 선택된 전자 디바이스(112)의 카메라로부터의 미리보기 이미지 스트림(308)을 제공한다. 그러나, 일부 구현예들에서 UI 뷰(200)가 플레이스홀더(307) 또는 미리보기 이미지 스트림(308) 없이 제공될 수 있다는 것을 이해해야 한다. 또한, 원격 디바이스에서 생성되는 필기 입력의 실시간 디스플레이와 같은 선택된 원격 디바이스에 의해 생성되고 있는 임의의 데이터 스트림 또는 콘텐츠를 미러링하기 위해 미리보기 이미지 스트림(308)이 제공될 수 있다는 것을 이해해야 한다. 또한, 플레이스홀더(307)는 모든 활성화된 디바이스들로부터의 이미지 미리보기 스트림들(예컨대 전자 디바이스들(112, 115) 둘 모두로부터의 병렬(side-by-side) 스트림들)을 포함할 수 있어서, (예컨대 2 개의 디바이스들이 전자 디바이스(110)의 위치로부터 멀리 있는 다른 사용자들에 의해 동작되고 있는 경우 또는 2 개의 디바이스들이 이미지화될 공통 객체 상에 상이한 시야각들을 제공하는 경우) 플레이스홀더(307) 내의 미리보기 스트림들이 원하는 디바이스의 선택을 위해 사용될 수 있다는 것을 이해해야 한다.
블루투스와 같은 제1 통신 프로토콜은 리스트(225) 내의 디바이스들 및 피처들을 발견하고/하거나 발견된 디바이스들의 하나 이상의 컴포넌트를 활성화하는 데 사용될 수 있다. 다양한 구현예들에서, 제1 통신 프로토콜 및/또는 제2 통신 프로토콜, 예컨대 WiFi, 다른 근거리 통신망(LAN) 또는 다른 네트워크 또는 유선/무선 통신 프로토콜 및/또는 회로부는 미리보기 이미지 스트림, 콘텐츠 등을 통신하는 데 사용될 수 있다. 미리보기 이미지 스트림(308)은 원격 디바이스로부터 구분적으로 또는 연속적으로 제공된 데이터를 포함할 수 있다(예컨대 스타일러스 입력을 표현하는 풀-해상도 데이터 스트림이 원격 디바이스로부터 수신됨에 따라 원격 디바이스로부터 제공될 수 있거나, 예를 들어, 원격 디바이스에서 스타일러스를 이용한 드로잉 스트로크 입력의 단편들이 주기적으로 제공되는 저-해상도 미리보기 데이터 스트림이 제공될 수 있다). 선택된 전자 디바이스(112)의 카메라로부터의 미리보기 이미지 스트림(308)은 풀-해상도 이미지 스트림일 수 있거나 전자 디바이스(110)로의 더 빠른 전송 및 진행을 용이하게 하기 위한 감소된-해상도 이미지 스트림일 수 있다. 일부 예들에서, 미리보기 이미지 스트림(308)은 비디오 프레임들 및 비디오 프레임들 중 하나 이상에 대한 오버레이된 콘텐츠를 포함하는 증강 현실(AR) 비디오 스트림일 수 있다.
도 2 내지 도 4의 예에서, 이미지가 요구되는 자전거가 전자 디바이스(112)의 카메라의 뷰 내에 있을 때, 사용자는 전자 디바이스(112)의 카메라를 이용하여 자전거의 이미지(400)를 캡처하기 위해 이미지 캡처 옵션(302)(또는 전자 디바이스(110) 상의 대응하는 옵션)을 선택할 수 있다. 이미지 캡처 옵션의 선택에 의해, 이미지(400)가 캡처, 송신되고, 커서(206)의 위치에서 UI 뷰(200) 내로 직접 삽입되며, 커서(206)는 따라서 업데이트된 다음 입력 위치로 이동된다. 도 4에 도시된 바와 같이, 이미지(400)가 삽입될 때, 전자 디바이스(112)는 (예컨대 전자 디바이스(112)에 이미지(400)를 저장하지 않고) 비활성화된다.
하나 이상의 구현예에서, 전자 디바이스(112)의 카메라(또는 이미지 캡처 또는 다른 원격 입력 동작을 위한 다른 디바이스의 다른 컴포넌트)를 동작시키기 위한 커맨드들은 전자 디바이스(110)의 콘텐츠 편집기 애플리케이션에 의해 생성되고 전자 디바이스(110)의 통신 회로부에 의해(예컨대 API 및/또는 네트워크 인터페이스들(1016)에 의해) 원격 디바이스로 송신될 수 있다. 이러한 구성들에서, 전자 디바이스(110)의 콘텐츠 편집기 애플리케이션은 카메라 제어 커맨드들의 생성을 위해 다양한 유형의 전자 디바이스들의 카메라 컴포넌트들과 연관된 정보를 저장한다.
하나 이상의 구현예에서, 전자 디바이스(112)의 카메라(또는 이미지 캡처 또는 다른 원격 입력 동작을 위한 다른 디바이스의 다른 컴포넌트)를 동작시키기 위한 커맨드들이 API(208)에 의해 생성될 수 있다. 이러한 구성들에서, 전자 디바이스(110)의 API(208)는 API(208)를 통해 콘텐츠 편집기 애플리케이션에 의한 디바이스-독립적 이미지 요청에 응답하여 카메라 제어 커맨드들의 생성을 위해 다양한 유형의 전자 디바이스들의 카메라 컴포넌트들과 연관된 정보를 저장하는 데 사용된다.
도 2 내지 도 4의 예들에서, 콘텐츠 편집기 애플리케이션에 의해 제공된 문서 내로의 이미지의 입력을 위해 이미지 캡처 입력 옵션(224)이 선택된다. 그러나, 다른 디바이스로부터의 직접 입력이 콘텐츠의 입력, UI 뷰의 수정, 및/또는 파일 또는 파일 폴더 내로의 데이터 또는 콘텐츠의 직접 입력을 위해 임의의 애플리케이션에 제공될 수 있다는 것을 또한 이해해야 한다. 도 5 및 도 6은 콘텐츠 편집기 애플리케이션의 콘텐츠 편집 뷰 내로의 직접 입력을 위한 콘텐츠와 같은 데이터를 제공하는 예들을 설명한다. 도 7은 애플리케이션의 UI 뷰에 테마가 제공되고 다른 디바이스로부터의 기분 데이터와 같은 데이터가 테마를 수정하는 데 사용되는 다른 예를 도시한다. 도 8은 파일 관리자 애플리케이션을 통한 파일 시스템 파일 또는 파일 시스템 폴더 내로의 직접 입력을 위해 파일 관리자 애플리케이션에 원격 디바이스로부터의 데이터가 제공되는 다른 예를 도시한다.
그러나, 이 예들은 예시적이며 다른 디바이스로부터의 입력의 다른 예들이 고려된다는 것을 이해해야 한다. 예를 들어, 제1 디바이스의 사용자는 다른 디바이스(예컨대 이미지를 편집하거나 마크업하는 데 사용하기 위한 터치스크린 및/또는 스타일러스를 갖는 디바이스) 상의 이미지 편집 애플리케이션을 사용하여 이미지를 편집하거나 마크업하기 위해 원격 디바이스의 사용을 요청할 수 있다. 이 예에서, 제1 디바이스 상의 파일 관리자 애플리케이션 또는 이미지 편집기 애플리케이션은, 요청에 응답하여, 이미지를 원격 디바이스에 제공할 수 있고, 이미지의 편집을 위해 원격 디바이스 상의 이미지 편집기 애플리케이션을 활성화시킬 수 있다. 원격 디바이스는 (예컨대 스타일러스 및/또는 터치스크린을 통해) 마크업 입력을 수신하고, 수신된 마크업에 기초하여(예컨대 원격 디바이스에 이미지 또는 마크업 메타데이터를 저장하지 않고, 그리고 일부 시나리오들에서, 이미지를 다시 제1 디바이스로 전송하지 않고), 수신된 마크업을 제1 디바이스에서 이미지 상에 렌더링하기 위해 (예컨대 마크업 입력을 수신하는 동안 또는 수신한 후에) 제1 디바이스에 마크업 메타데이터를 제공할 수 있다.
도 5는 하나 이상의 구현예에 따른, 원격 디바이스와 같은 다른 디바이스로부터 콘텐츠 편집기 애플리케이션으로 데이터를 직접 수신(예컨대 콘텐츠를 삽입)하기 위한 예시적인 프로세스(500)의 흐름도를 도시한다. 설명의 목적을 위해, 본 명세서에서 프로세스(500)는 도 1 내지 도 4의 전자 디바이스들(110, 111, 112, 115)의 하나 이상의 프로세서에 의해 실행될 수 있는 도 1 및 도 2의 컴포넌트들의 컴포넌트들을 참조하여(특히 전자 디바이스들(110, 111, 112, 115)을 참조하여) 주로 기술된다. 그러나, 프로세스(500)는 전자 디바이스들(110, 111, 112, 115)로 제한되지 않으며, 프로세스(500)의 하나 이상의 블록(또는 동작)은 다른 적합한 디바이스들, 예컨대 스마트워치 또는 디지털 카메라와 같은 하나 이상의 다른 전자 디바이스의 하나 이상의 다른 컴포넌트에 의해 수행될 수 있다. 또한, 설명을 위해, 프로세스(500)의 블록들은 본 명세서에서 직렬 또는 선형적으로 발생하는 것으로 설명된다. 그러나, 프로세스(500)의 다수의 블록들은 병렬로 발생할 수 있다. 또한, 프로세스(500)의 블록들은 도시된 순서로 수행될 필요가 없고/없거나 프로세스(500)의 하나 이상의 블록이 수행될 필요가 없고/없거나 다른 동작들에 의해 대체될 수 있다.
블록(502)에서, 전자 디바이스(110)의 프로세서는, 디스플레이를 위해, 콘텐츠 편집기 애플리케이션의 콘텐츠 편집기 뷰(200)를 제공하고, 콘텐츠 편집기 애플리케이션은 다른 디바이스로부터 데이터(예컨대 이미지, 비디오, 증강 현실 콘텐츠, 이미지 마크업 메타데이터, 필기 인식 데이터, 프리핸드 스케치 데이터, 걸음 데이터, 심박수 데이터, 심전도 데이터, 칼로리 데이터, 혈압 데이터, 및/또는 기분 데이터)를 획득하기 위한, 예컨대 콘텐츠 편집 뷰 내로의 콘텐츠의 삽입을 위한 하나 이상의 선택가능한 옵션(210)을 포함한다. 하나 이상의 선택가능한 옵션(210)은 전자 디바이스(110)에 통신가능하게 결합되고/되거나 전자 디바이스(110)와 페어링되는 원격 디바이스(예컨대 전자 디바이스(111), 전자 디바이스(112) 또는 전자 디바이스(115))와 같은 다른 디바이스로부터 콘텐츠와 같은 입력을 획득하기 위한 적어도 하나의 옵션(예컨대 도 2의 드로잉 입력 옵션(222) 및 이미지 캡처 입력 옵션(224) 참조)을 포함한다. 전자 디바이스(110), 전자 디바이스(111), 전자 디바이스(112), 및/또는 전자 디바이스(115)와 같은 전자 디바이스들은 신뢰 관계를 확립하고 이어서 나중에 서로 접속하기 위해 페어링 프로세스를 사용할 수 있는데, 즉, 페어링된 디바이스가 항상 다른 디바이스에 통신가능하게 결합되지는 않을 수 있지만, 신속히 통신가능하게 결합될 수 있다.
전자 디바이스(110)의 프로세서는 또한 다른 디바이스를 발견할 수 있고, (예컨대 다른 디바이스의 다양한 컴포넌트들의 존재 및/또는 다양한 컴포넌트들의 이용가능한 소프트웨어 제어에 기초하여) 다른 디바이스의 하나 이상의 이용가능한 피처를 식별할 수 있고, 하나 이상의 이용가능한 피처를 사용하여 획득가능한 하나 이상의 입력 유형을 식별할 수 있으며, 하나 이상의 입력 유형 중 적어도 하나는 데이터에 대응한다. 다른 디바이스의 이용가능한 피처들을 식별하는 것은, (예컨대 다른 디바이스에 대한 피처 플래그들을 포함하여, 다른 디바이스로부터의 브로드캐스트, 수신된 신호들을 포함하는) 다른 디바이스와의 통신에 기초하여, 원격 디바이스에서의 소프트웨어에서 이용가능한 서비스들의 리스트를 획득하는 것을 포함할 수 있다. 원격 디바이스에서의 소프트웨어에서 이용가능한 서비스들은 원격 디바이스에서의 하드웨어 컴포넌트(예컨대 카메라, 터치 스크린, 스타일러스, 광 센서, 모션 센서, 활동 센서, 또는 위치 센서) 및/또는 소프트웨어 서비스의 원격 사용을 위한 서비스들을 포함할 수 있다. 예를 들어, 다른 디바이스는 (예컨대 하드웨어 컴포넌트의 원격 사용을 위한) 하드웨어 지원이 다른 디바이스 상에서 이용가능한지 여부, 다른 디바이스를 위한 더 새로운 버전의 시스템 소프트웨어에 제공되는 새로운 서비스들이 다른 디바이스에 설치되었는지의 여부, 및/또는 (예컨대 사용자 설정들에 기초하여) 특정 서비스가 인에이블되었는지 또는 디스에이블되었는지에 기초하여, 이용가능한 서비스들을 광고할 수 있다. 프로세서는 또한 하나 이상의 입력 유형에 기초하여 하나 이상의 선택가능한 옵션을 생성할 수 있다.
전자 디바이스(110)는 또한 다른 디바이스 및/또는 추가의 디바이스들(예컨대 전자 디바이스(111), 전자 디바이스(112) 또는 전자 디바이스(115)의 다른 디바이스들)에 의한 사용을 위해 이용가능한(예컨대 컴포넌트의 원격 사용을 위한 하드웨어 지원과 같은 소프트웨어 내에 연관된 이용가능한 서비스들을 갖는 컴포넌트들 및/또는 사용자 설정에 의한 것과 같은 원격 사용을 위해 인에이블된 컴포넌트들) 하나 이상의 이용가능한 컴포넌트(예컨대 카메라, 터치 스크린, 스타일러스, 광 센서, 모션 센서, 활동 센서, 또는 위치 센서)를 포함할 수 있다. 전자 디바이스(110)는 또한 데이터를 다른 디바이스에 제공하기 위한 이용가능한 컴포넌트의 사용을 위한 피처 플래그를 광고할 수 있다. 피처 플래그를 광고하는 것은 다른 디바이스들에 의한 발견을 위해 피처 플래그를 포함하는 신호를 브로드캐스트하는 것을 포함할 수 있다.
블록(504)에서, 전자 디바이스(110)의 프로세서는 콘텐츠 편집기 애플리케이션 내에서부터, 다른 디바이스로부터의 콘텐츠와 같은 데이터를 획득하기 위해 선택가능한 삽입 옵션들(220) 중 적어도 하나의 선택을 수신한다.
블록(506)에서, 전자 디바이스(110)의 프로세서는, 콘텐츠 편집기 애플리케이션을 이용하여, 다른 디바이스 상의 추가 애플리케이션을 활성화시킨다. 추가 애플리케이션은 디바이스 또는 콘텐츠 편집기 애플리케이션에 관련되지 않을 수 있다. 예를 들어, 추가 애플리케이션은 원격 디바이스의 카메라와 연관된 카메라 애플리케이션, 스마트워치의 건강 모니터링 또는 활동 모니터링 애플리케이션, 필기 인식 애플리케이션, 이미지 마크업 애플리케이션, 다른 디바이스의 센서와 연관된 활동 모니터링 애플리케이션, 다른 디바이스의 센서와 연관된 건강 모니터링 애플리케이션, 또는 원격 디바이스의 스타일러스와 연관된 드로잉 엔트리(예컨대 노트 작성 또는 프리핸드 스케치) 애플리케이션일 수 있다. 보다 일반적으로, 추가 애플리케이션은 전자 디바이스(110) 상에서 실행되는 콘텐츠 편집기 애플리케이션과 상이할 수 있고, 다른 디바이스의 컴포넌트의 동작을 위해, 전자 디바이스(110)의 임의의 컴포넌트들과는 독립적으로 구성될 수 있다.
블록(508)에서, 전자 디바이스(110)의 프로세서는, 다른 디바이스 상의 추가 애플리케이션으로부터 컨텐츠 편집기 애플리케이션을 이용하여, 콘텐츠 편집 뷰에 대한 데이터(예컨대 콘텐츠 편집기 애플리케이션 내에 삽입하기 위한 이미지(400)와 같은 콘텐츠)를 수신한다. 하나 이상의 구현예에서, 데이터를 수신하는 것은, 콘텐츠 편집기 애플리케이션을 이용하여, 삽입을 위한 콘텐츠를 생성하기 위해 원격 디바이스의 컴포넌트를 동작시키는 커맨드들을 생성하는 것, 및 생성된 커맨드들을 디바이스의 통신 회로부(예컨대 도 2의 API(208) 및/또는 도 10의 네트워크 인터페이스들(1016) 참조)를 이용하여 원격 디바이스에 제공하는 것을 포함할 수 있다. 하나 이상의 구현예에서, 데이터를 수신하는 것은, 디바이스의 콘텐츠 편집기 애플리케이션으로부터 그리고 디바이스의 애플리케이션 프로그래밍 인터페이스(208)를 통해, 콘텐츠를 요청하는 기능을 호출하는 것, 및 애플리케이션 프로그래밍 인터페이스(208)를 통해 그리고 호출 기능에 응답하여, 삽입을 위한 콘텐츠를 생성하기 위해 다른 디바이스의 컴포넌트를 동작시키기 위한 커맨드들을 제공하는 것을 포함할 수 있다.
도 6은 하나 이상의 구현예에 따른, 원격 디바이스와 같은 다른 디바이스로부터 콘텐츠 편집기 애플리케이션 내로 데이터 스트림을 직접 수신하기 위한(예컨대 콘텐츠 또는 다른 직접적인 데이터 입력을 삽입하기 위한) 다른 예시적인 프로세스(600)의 흐름도를 도시한다. 설명의 목적을 위해, 본 명세서에서 프로세스(600)는 도 1 및 도 2의 전자 디바이스들(110, 111, 112, 115)의 하나 이상의 프로세서에 의해 실행될 수 있는 도 1 및 도 2의 컴포넌트들의 컴포넌트들을 참조하여(특히 전자 디바이스들(110, 111, 112, 115)을 참조하여) 주로 기술된다. 그러나, 프로세스(600)는 전자 디바이스들(110, 111, 112, 115)로 제한되지 않으며, 프로세스(600)의 하나 이상의 블록(또는 동작)은 다른 적합한 디바이스들, 예컨대 스마트워치 또는 디지털 카메라의 하나 이상의 다른 컴포넌트에 의해 수행될 수 있다. 또한, 설명을 위해, 프로세스(600)의 블록들은 본 명세서에서 직렬 또는 선형적으로 발생하는 것으로 설명된다. 그러나, 프로세스(600)의 다수의 블록들은 병렬로 발생할 수 있다. 또한, 프로세스(600)의 블록들은 도시된 순서로 수행될 필요가 없고/없거나 프로세스(600)의 하나 이상의 블록이 수행될 필요가 없고/없거나 다른 동작들에 의해 대체될 수 있다.
블록(602)에서, 제1 전자 디바이스(예컨대 전자 디바이스(110))의 프로세서는 제1 전자 디바이스 상에서 실행되는 콘텐츠 편집기 애플리케이션 내로부터, 제2 전자 디바이스(예컨대 전자 디바이스(112) 또는 전자 디바이스(115))의 컴포넌트를 활성화시킨다. 일례에서, 콘텐츠 편집기 애플리케이션은 편집을 위한 문서를 포함하는 콘텐츠 편집기 뷰(200)를 디스플레이하는 워드 프로세싱 애플리케이션이고, 삽입하는 것은 캡처된 이미지를 제2 전자 디바이스에 저장하지 않고 디스플레이된 문서 내에 캡처된 이미지(400)를 디스플레이하는 것을 포함한다.
블록(604)에서, 제2 전자 디바이스의 프로세서는, 제2 전자 디바이스에서, 콘텐츠 편집기 애플리케이션에 대한 데이터 스트림을 생성하기 위해(예컨대 콘텐츠로서 삽입하기 위해 또는 콘텐츠 편집기 애플리케이션 내에 삽입하기 위한 콘텐츠를 생성하기 위해) 제2 전자 디바이스의 컴포넌트를 제어한다. 제2 전자 디바이스의 컴포넌트를 제어하는 것은, 이미지(400)를 캡처하거나 (예컨대 제2 전자 디바이스에서 이미지 캡처 옵션(302/306)의 선택에 응답하여) 하나 이상의 캡처된 이미지에 기초하여 기분 데이터와 같은 이미지 메타데이터를 생성하기 위해 전자 디바이스(112) 또는 전자 디바이스(115)의 카메라를 동작시키는 것을 포함한다.
블록(606)에서, 제2 전자 디바이스의 프로세서는 입력(예컨대 이미지 캡처 옵션 또는 드로잉 입력 애플리케이션으로부터의 전송 옵션의 선택)을 수신하고, (예컨대 제2 전자 디바이스에서 생성된 콘텐츠를 콘텐츠 편집기 애플리케이션 내에 삽입함으로써) 콘텐츠 편집기 애플리케이션의 콘텐츠 편집 뷰를 수정한다. 예를 들어, 콘텐츠 편집 뷰를 수정하는 것은, 제2 전자 디바이스에서 이미지 캡처 옵션(302)의 선택에 응답하여 제2 전자 디바이스 또는 제1 전자 디바이스에 대한 추가 입력 없이, 캡처된 이미지(400)를 제2 전자 디바이스로부터 제1 전자 디바이스의 콘텐츠 편집기 애플리케이션으로 송신함으로써, 생성된 콘텐츠를 콘텐츠 편집기 애플리케이션 내에 삽입하는 것을 포함할 수 있다.
제1 전자 디바이스는 또한 제2 전자 디바이스로부터 콘텐츠 편집기 애플리케이션을 이용하여, 제2 전자 디바이스가 원격으로 획득가능한 콘텐츠 유형들 중 하나를 획득하기 위해 선택되었다는 표시를 수신할 수 있다. 제1 전자 디바이스는 표시에 응답하여, 제3 전자 디바이스의 컴포넌트를 비활성화시킬 수 있다. 제2 전자 디바이스가 선택되었다는 표시는 (예로서) 제2 전자 디바이스의 움직임의 표시, 제2 전자 디바이스 상의 이미지 캡처 동작의 표시를 포함할 수 있고, 제2 전자 디바이스와 연관된 스타일러스의 동작의 표시, 또는 제2 전자 디바이스의 터치스크린에 대한 터치 입력을 포함할 수 있다.
일부 예들에서, 제2 전자 디바이스는 제1 전자 디바이스로부터 이미지(예컨대 제1 전자 디바이스의 메모리 내에 저장된 이미지 또는 제1 전자 디바이스의 카메라를 이용하여 캡처된 이미지)를 수신할 수 있다. 제2 전자 디바이스는 이미지를 디스플레이하고, 제2 전자 디바이스의 터치스크린을 통해 이미지 마크업 입력을 수신할 수 있다. 제2 전자 디바이스는 이미지 또는 이미지 마크업 메타데이터를 저장하지 않고, 그리고 이미지를 제1 전자 디바이스로 전송하지 않고, 이미지 마크업 입력에 기초하여 제1 전자 디바이스에 이미지 마크업 메타데이터를 제공할 수 있다. 제1 전자 디바이스는 이미지 마크업 메타데이터를 사용하여, 제1 전자 디바이스에서 디스플레이된 이미지 상에 이미지 마크업 입력을 렌더링할 수 있다.
도 7은 하나 이상의 구현예에 따른, 애플리케이션의 사용자 인터페이스 뷰를 수정하기 위해 다른 디바이스로부터 데이터를 직접 수신하기 위한 예시적인 프로세스(700)의 흐름도를 예시한다. 설명의 목적을 위해, 본 명세서에서 프로세스(700)는 도 1의 전자 디바이스들(110, 111, 112, 115)의 하나 이상의 프로세서에 의해 실행될 수 있는 도 1 및 도 2의 컴포넌트들의 컴포넌트들을 참조하여(특히 전자 디바이스들(110, 111, 112, 115)을 참조하여) 주로 기술된다. 그러나, 프로세스(700)는 전자 디바이스들(110, 111, 112, 115)로 제한되지 않으며, 프로세스(700)의 하나 이상의 블록(또는 동작)은 다른 적합한 디바이스들, 예컨대 스마트워치 또는 디지털 카메라와 같은 하나 이상의 다른 전자 디바이스의 하나 이상의 다른 컴포넌트에 의해 수행될 수 있다. 또한, 설명을 위해, 프로세스(700)의 블록들은 본 명세서에서 직렬 또는 선형적으로 발생하는 것으로 설명된다. 그러나, 프로세스(700)의 다수의 블록들은 병렬로 발생할 수 있다. 또한, 프로세스(700)의 블록들은 도시된 순서로 수행될 필요가 없고/없거나 프로세스(700)의 하나 이상의 블록이 수행될 필요가 없고/없거나 다른 동작들에 의해 대체될 수 있다.
블록(702)에서, 전자 디바이스(110)의 프로세서는, 테마를 사용하는 디스플레이를 위해, 애플리케이션의 사용자 인터페이스 뷰를 제공하며, 사용자 인터페이스 뷰는 다른 디바이스로부터 데이터를 획득하기 위한, 예컨대 (예컨대 UI 뷰 내로의 콘텐츠의 삽입 또는 뷰의 디스플레이된 부분들의 수정을 통해) 사용자 인터페이스 뷰의 수정을 위한, 하나 이상의 선택가능 옵션(210)을 포함한다. 하나 이상의 선택가능한 옵션(210)은 전자 디바이스(110)에 통신가능하게 결합되고/되거나 전자 디바이스(110)와 페어링되는 원격 디바이스(예컨대 전자 디바이스(111), 전자 디바이스(112) 또는 전자 디바이스(115))와 같은 다른 디바이스로부터 기분 데이터와 같은 데이터를 획득하기 위한 적어도 하나의 옵션을 포함한다. 전자 디바이스(110), 전자 디바이스(111), 전자 디바이스(112), 및/또는 전자 디바이스(115)와 같은 전자 디바이스들은 신뢰 관계를 확립하고 이어서 나중에 서로 접속하기 위해 페어링 프로세스를 사용할 수 있는데, 즉, 페어링된 디바이스가 항상 다른 디바이스에 통신가능하게 결합되지는 않을 수 있지만, 신속히 통신가능하게 결합될 수 있다.
블록(704)에서, 전자 디바이스(110)의 프로세서는, 애플리케이션을 통해, 다른 디바이스로부터의 데이터를 획득하기 위해 선택가능한 삽입 옵션들(220) 중 적어도 하나의 선택을 수신한다.
블록(706)에서, 전자 디바이스(110)의 프로세서는, 애플리케이션을 통해, 다른 디바이스 상의 추가 애플리케이션을 활성화시킨다. 다른 디바이스 상의 추가 애플리케이션은 전자 디바이스(110) 또는 전자 디바이스(110) 상에서 실행되는 애플리케이션에 관련되지 않을 수 있다. 예를 들어, 다른 애플리케이션은 원격 디바이스의 카메라와 연관된 카메라 애플리케이션, 헬스 모니터링, 기분 모니터링, 또는 스마트워치의 활동 모니터링 애플리케이션, 또는 원격 디바이스의 스타일러스와 연관된 드로잉 엔트리(예컨대 노트 작성 또는 프리핸드 스케치) 애플리케이션일 수 있다. 보다 일반적으로, 다른 디바이스 상의 추가 애플리케이션은 전자 디바이스(110) 상에서 실행되는 애플리케이션과 상이할 수 있고, 다른 디바이스의 컴포넌트의 동작을 위해, 전자 디바이스(110)의 임의의 컴포넌트들과는 독립적으로 구성될 수 있다.
블록(708)에서, 전자 디바이스(110)의 프로세서는 UI 뷰에 대한 데이터(예컨대 UI 뷰의 테마를 수정하기 위한 기분 데이터와 같은 데이터)를, 애플리케이션을 이용하여, 다른 디바이스 상의 추가 애플리케이션으로부터 수신한다. 하나 이상의 구현예에서, 데이터를 수신하는 것은, 애플리케이션을 이용하여, 데이터를 생성하기 위해 다른 디바이스의 컴포넌트를 동작시키는 커맨드들을 생성하는 것, 및 생성된 커맨드들을 디바이스의 통신 회로부(예컨대 도 2의 API(208) 및/또는 도 10의 네트워크 인터페이스들(1016) 참조)를 이용하여 다른 디바이스에 제공하는 것을 포함할 수 있다.
하나 이상의 구현예에서, 데이터를 수신하는 것은, 디바이스의 애플리케이션으로부터 그리고 디바이스의 애플리케이션 프로그래밍 인터페이스(208)를 통해, 데이터를 요청하는 기능을 호출하는 것, 및 애플리케이션 프로그래밍 인터페이스(208)를 통해 그리고 호출 기능에 응답하여, 데이터를 생성하기 위해 다른 디바이스의 컴포넌트를 동작시키기 위한 커맨드들을 제공하는 것을 포함할 수 있다. 일례에서, 다른 디바이스로부터 데이터를 획득하기 위한 적어도 하나의 옵션은 다른 디바이스의 카메라 또는 센서를 사용하여 기분 데이터를 획득하기 위한 옵션을 포함한다. 일례에서, 데이터는 기분 데이터를 포함하며, 기분 데이터는 다른 디바이스의 사용자의 기분(예컨대 행복한 기분, 슬픈 기분, 화난 기분, 흥분된 기분, 두려운 기분, 어리석은 기분, 거친 기분 등)을 나타내는 기분 데이터를 포함한다. 본 명세서에 기술된 바와 같이, 사용자의 기분은 다른 디바이스의 카메라(예컨대 얼굴 피처들 및 표정들을 식별하기 위한 관련 소프트웨어 및/또는 회로부) 및/또는 하나 이상의 건강 또는 활동 센서(예컨대 광학 광 센서, 적외선 센서, 기타 광 센서, 심박수 센서, 모션 센서 등)를 사용하여 결정될 수 있다.
블록(710)에서, 애플리케이션은 데이터를 사용하여 UI 뷰의 테마를 수정할 수 있다. 예를 들어, 테마를 수정하는 것은, 결정된 사용자의 기분에 기초하여, UI 뷰의 배경 색상 또는 배경 이미지를 변경하는 것, UI 뷰의 다양한 피처들에 사용되는 색상 방식 또는 색상 팔레트를 변경하는 것, 가상 버튼들의 형상 또는 다른 디스플레이된 피처들을 변경하는 것, 및/또는 UI 뷰의 디스플레이된 피처들을 대체, 추가, 또는 제거하는 것을 포함할 수 있다. 기분은 원격 디바이스에 의해 결정되고 그에 의해 제공될 수 있거나, 기분은 원격 디바이스로부터 제공된 기분 데이터 또는 센서 데이터에 기초하여 애플리케이션에 의해 결정될 수 있다.
도 8은 하나 이상의 구현예에 따른, 파일 관리자 애플리케이션을 이용하여 파일에 입력하기 위해 다른 디바이스로부터 데이터를 직접 수신하기 위한 예시적인 프로세스(800)의 흐름도를 예시한다. 설명의 목적을 위해, 본 명세서에서 프로세스(800)는 도 1의 전자 디바이스들(110, 111, 112, 115)의 하나 이상의 프로세서에 의해 실행될 수 있는 도 1 및 도 2의 컴포넌트들의 컴포넌트들을 참조하여(특히 전자 디바이스들(110, 111, 112, 115)을 참조하여) 주로 기술된다. 그러나, 프로세스(800)는 전자 디바이스들(110, 111, 112, 115)로 제한되지 않으며, 프로세스(800)의 하나 이상의 블록(또는 동작)은 다른 적합한 디바이스들, 예컨대 스마트워치 또는 디지털 카메라와 같은 하나 이상의 다른 전자 디바이스의 하나 이상의 다른 컴포넌트에 의해 수행될 수 있다. 또한, 설명을 위해, 프로세스(800)의 블록들은 본 명세서에서 직렬 또는 선형적으로 발생하는 것으로 설명된다. 그러나, 프로세스(800)의 다수의 블록들은 병렬로 발생할 수 있다. 또한, 프로세스(800)의 블록들은 도시된 순서로 수행될 필요가 없고/없거나 프로세스(800)의 하나 이상의 블록이 수행될 필요가 없고/없거나 다른 동작들에 의해 대체될 수 있다.
블록(802)에서, 전자 디바이스(110)의 프로세서는, 테마를 사용하는 디스플레이를 위해, 파일 관리자 애플리케이션의 사용자 인터페이스 뷰를 제공하며, 사용자 인터페이스 뷰는 디바이스의 메모리에 의해 저장된 파일 내에 데이터를 입력하기 위한 하나 이상의 선택가능한 옵션(210)을 포함한다. 파일 관리자 애플리케이션의 UI 뷰는 전자 디바이스의 파일 시스템을 검색하기 위한 검색 질의들의 엔트리에 대한 검색 필드, 및 파일 시스템 상의 파일들 및/또는 폴더들을 표현하는 리스트들 또는 아이콘들이 디스플레이되는 파일 뷰를 포함할 수 있다. 하나 이상의 선택가능한 옵션(210)은 전자 디바이스(110)에 통신가능하게 결합되고/되거나 전자 디바이스(110)와 페어링되는 원격 디바이스(예컨대 전자 디바이스(111), 전자 디바이스(112) 또는 전자 디바이스(115))와 같은 다른 디바이스로부터 데이터를 획득하기 위한 적어도 하나의 옵션을 포함한다. 전자 디바이스(110), 전자 디바이스(111), 전자 디바이스(112), 및/또는 전자 디바이스(115)와 같은 전자 디바이스들은 신뢰 관계를 확립하고 이어서 나중에 서로 접속하기 위해 페어링 프로세스를 사용할 수 있는데, 즉, 페어링된 디바이스가 항상 다른 디바이스에 통신가능하게 결합되지는 않을 수 있지만, 신속히 통신가능하게 결합될 수 있다.
블록(804)에서, 전자 디바이스(110)의 프로세서는, 파일 관리자 애플리케이션을 통해, 다른 디바이스로부터의 데이터를 획득하기 위해 선택가능한 삽입 옵션들(220) 중 적어도 하나의 선택을 수신한다.
블록(806)에서, 전자 디바이스(110)의 프로세서는, 파일 관리자 애플리케이션을 통해, 다른 디바이스 상의 다른 애플리케이션을 활성화시킨다. 다른 디바이스 상의 다른 애플리케이션은 전자 디바이스(110) 또는 전자 디바이스(110) 상에서 실행되는 파일 관리자 애플리케이션에 관련되지 않을 수 있다. 예를 들어, 추가 애플리케이션은 원격 디바이스의 카메라와 연관된 카메라 애플리케이션, 헬스 모니터링, 기분 모니터링, 또는 스마트워치의 활동 모니터링 애플리케이션, 또는 원격 디바이스의 스타일러스와 연관된 드로잉 엔트리(예컨대 노트 작성 또는 프리핸드 스케치) 애플리케이션일 수 있다. 보다 일반적으로, 다른 디바이스 상의 다른 애플리케이션은 전자 디바이스(110) 상에서 실행되는 파일 관리자 애플리케이션과 상이할 수 있고, 다른 디바이스의 컴포넌트의 동작을 위해, 전자 디바이스(110)의 임의의 컴포넌트들과는 독립적으로 구성될 수 있다.
블록(808)에서, 전자 디바이스(110)의 프로세서는, 파일 관리자 애플리케이션을 이용하여, 다른 디바이스 상의 다른 애플리케이션으로부터 UI 뷰를 위한 데이터를 수신한다. 하나 이상의 구현예에서, 데이터를 수신하는 것은, 파일 관리자 애플리케이션을 이용하여, 데이터를 생성하기 위해 다른 디바이스의 컴포넌트를 동작시키는 커맨드들을 생성하는 것, 및 생성된 커맨드들을 디바이스의 통신 회로부(예컨대 도 2의 API(208) 및/또는 도 10의 네트워크 인터페이스들(1016) 참조)를 이용하여 다른 디바이스에 제공하는 것을 포함할 수 있다. 하나 이상의 구현예에서, 데이터를 수신하는 것은, 디바이스의 파일 관리자 애플리케이션으로부터 그리고 디바이스의 애플리케이션 프로그래밍 인터페이스(208)를 통해, 데이터를 요청하는 기능을 호출하는 것, 및 애플리케이션 프로그래밍 인터페이스(208)를 통해 그리고 호출 기능에 응답하여, 데이터를 생성하기 위해 다른 디바이스의 컴포넌트를 동작시키기 위한 커맨드들을 제공하는 것을 포함할 수 있다.
블록(810)에서, 파일 관리자 애플리케이션은 수신된 데이터를 파일 시스템 상의 파일 내에 입력할 수 있다. 수신된 데이터를 파일 내에 입력하는 것은 파일 폴더 내의 파일로서 데이터를 저장하는 것, 파일을 열고 추가의 사용자 입력 없이 파일 내에 데이터를 삽입하는 것, 또는 (예컨대 열린 배경 버전을 디스플레이하지 않고 파일의 배경 버전을 열고, 데이터를 삽입하고, 삽입된 데이터와 함께 파일을 저장함으로써 및/또는 데이터로부터 새로운 파일을 생성함으로써) 파일을 열지 않고 파일 내에 데이터를 삽입하는 것을 포함할 수 있다. 다른 디바이스는 다른 디바이스에 데이터를 저장하지 않고 파일에 대한 데이터를 파일 관리자에게 제공할 수 있다.
도 9는 이 예에서 UI 뷰를 수정하기 위해 콘텐츠가 입력될 수 있고/있거나 다른 데이터가 입력될 수 있는 콘텐츠 편집기 뷰 또는 텍스트 편집기 뷰로서 구현된 애플리케이션에 대한 사용자 인터페이스(UI) 뷰(900)를 도시한다. 도 9의 예에서, 사용자는 디바이스의 키보드, 터치스크린, 또는 오디오 입력 메커니즘을 사용하여 영숫자 텍스트(904)를 입력하였다(예컨대 "This is a text editor I am inserting a picture:"). 도 9의 예에서 UI 뷰(900)는 텍스트 편집기 애플리케이션에서의 문서의 표현이다.
이 예에서, 사용자는 UI 뷰(900) 내로 사진을 캡처 및 입력하기를 원한다. 도시된 바와 같이, UI 뷰(900)는 선택가능한 옵션들(910)을 포함하며, 선택가능 옵션들은 (명시적으로 도시되지 않았지만), 선택될 때, 애플리케이션으로 하여금 태블릿 디바이스(예컨대 도 9에서 "테스트 패드"로 식별됨)와 같은 원격 디바이스를 이용하여 이미지를 캡처하기 위한 옵션(922)을 제공하게 하는 입력 또는 삽입 옵션을 포함한다. 도 9의 예에서, 옵션(922)은 캡처된 이미지가 UI 뷰(900) 내에 삽입될 위치의 시각적 표시자(999)를 포함하는 팝업 윈도우 또는 콜아웃 박스로서 제공된다. "테스트 패드"를 이용하여 이미지를 캡처하는 옵션(922)은 또한 또는 대안적으로, 예를 들어, 원하는 입력의 위치에서의 우측 클릭, 사용자로부터의 음성 명령에 응답하여, 또는 용어 "삽입" 및/또는 용어 "그림"과 같은 사용자 입력 텍스트의 검출 시에 자동으로 제공될 수 있다는 것을 또한 이해해야 한다. (단일 디바이스로부터 사진을 삽입하기 위한) 단일 입력 옵션(922)이 도 9에 도시되어 있지만, 이는 단지 예시이고, 본 명세서에 기술된 바와 같은 추가적인 입력 옵션들(예컨대 드로잉 입력, 센서 입력, 건강 데이터 입력, 또는 "테스트 패드"로부터의 다른 원하는 입력 및/또는 다른 디바이스들을 이용한 하나 이상의 입력 옵션)이 (예컨대 도 2의 리스트(220)와 관련하여 전술된 바와 같은 리스트 내에) 제공될 수 있다는 것을 또한 이해해야 한다.
"테스트 패드"를 사용하여 사진을 캡처 및 삽입하기 위해, 사용자는 옵션(922)의 클릭가능한 위치(예컨대 "테스트 패드"를 나타내는 디스플레이된 아이콘 상의 또는 옵션(922)의 디스플레이된 영역 내의 어디든지)를 클릭하여 태블릿 디바이스 "테스트 패드"의 카메라를 활성화할 수 있다. 옵션(922)을 무시하는 능력을 사용자에게 제공하기 위해, 취소 옵션(912)에는 또한 도시된 바와 같은 옵션(922)이 제공될 수 있다.
전술된 바와 같이, 본 기술의 일 양태는, 다른 디바이스로부터의 콘텐츠 또는 다른 데이터의 삽입을 위한 특정한 그리고 적법한 소스들로부터 이용가능한 데이터의 수집 및 사용이다. 본 개시내용은, 일부 예시들에서, 이러한 수집된 데이터가 특정 사람을 고유하게 식별하거나 또는 그를 식별하는 데 사용될 수 있는 개인 정보 데이터를 포함할 수 있음을 고려한다. 그러한 개인 정보 데이터는 인구통계 데이터, 위치 기반 데이터, 온라인 식별자, 전화 번호, 이메일 주소, 집 주소, 사용자의 건강 또는 피트니스 레벨에 관한 데이터 또는 기록(예컨대 바이탈 사인(vital sign) 측정치, 투약 정보, 운동 정보), 생년월일, 또는 임의의 다른 개인 정보를 포함할 수 있다.
본 발명은 본 기술에서의 그러한 개인 정보 데이터의 이용이 사용자들에게 이득을 주기 위해 사용될 수 있음을 인식한다. 예를 들어, 개인 정보 데이터는 이용가능한 원격 디바이스들을 식별하고, 원격 디바이스들에 대한 액세스를 획득하고, 그리고/또는 원격 디바이스로부터의 콘텐츠 또는 다른 데이터의 삽입에 대한 상대적 적합성을 위해 원격 디바이스들을 랭킹 또는 스코어링하는 데 사용될 수 있다. 게다가, 사용자에게 이득을 주는 개인 정보 데이터에 대한 다른 이용들이 또한 본 발명에 의해 고려된다. 예를 들어, 건강 및 피트니스 데이터는 사용자의 일반적인 웰니스(wellness)에 대한 통찰력을 제공하기 위해 사용자의 선호도에 따라 사용될 수 있거나, 또는 웰니스 목표를 추구하기 위한 기술을 이용하여 개인들에게 긍정적인 피드백으로서 사용될 수 있다.
본 개시내용은 그러한 개인 정보 데이터의 수집, 분석, 공개, 전달, 저장, 또는 다른 사용을 담당하는 그러한 엔티티들이 잘 확립된 프라이버시 정책들 및/또는 프라이버시 관례들을 준수할 것이라는 것을 고려한다. 특히, 그러한 엔티티들은 사용자들의 프라이버시를 유지하기 위한 산업 또는 행정 요구사항들을 충족시키거나 능가하는 것으로 일반적으로 인식되는 프라이버시 관례들을 구현하고 일관되게 적용할 것으로 예상될 것이다. 개인 데이터의 사용에 관한 그러한 정보는 사용자들에 의해 눈에 띄게 그리고 쉽게 액세스가능해야 하고, 데이터의 수집 및/또는 사용이 변화함에 따라 업데이트되어야 한다. 사용자들로부터의 개인 정보는 적법한 사용들을 위해서만 수집되어야 한다. 추가로, 그러한 수집/공유는 사용자들의 동의 또는 적용가능한 법률에 규정된 다른 적법한 근거를 수신한 후에만 발생해야 한다. 부가적으로, 그러한 엔티티들은 그러한 개인 정보 데이터에 대한 액세스를 보호하고 안전하게 하며 개인 정보 데이터에 대한 액세스를 갖는 다른 사람들이 그들의 프라이버시 정책들 및 절차들을 고수한다는 것을 보장하기 위한 임의의 필요한 단계들을 취하는 것을 고려해야 한다. 추가로, 그러한 엔티티들은 널리 인정된 프라이버시 정책들 및 관례들에 대한 그들의 고수를 증명하기 위해 제3자들에 의해 그들 자신들이 평가를 받을 수 있다. 추가로, 정책들 및 관례들은 수집되고/되거나 액세스되는 특정 유형들의 개인 정보 데이터에 대해 적응되고, 더 높은 표준을 부과하는 역할을 할 수 있는 관할구역 특정 고려사항들을 비롯한 적용가능한 법률들 및 표준들에 적응되어야 한다. 예를 들어, 미국에서, 소정 건강 데이터의 수집 또는 그에 대한 액세스는 HIPAA(Health Insurance Portability and Accountability Act)와 같은 연방법 및/또는 주법에 의해 통제될 수 있는 반면; 다른 국가들에서의 건강 데이터는 다른 법령들 및 정책들의 대상이 될 수 있고, 그에 따라 처리되어야 한다.
전술한 것에도 불구하고, 본 개시내용은 또한 사용자들이 개인 정보 데이터의 사용, 또는 그에 대한 액세스를 선택적으로 차단하는 실시예들을 고려한다. 즉, 본 개시내용은 그러한 개인 정보 데이터에 대한 액세스를 방지하거나 차단하기 위해 하드웨어 및/또는 소프트웨어 요소들이 제공될 수 있음을 고려한다. 예를 들어, 원격 디바이스로부터의 콘텐츠 또는 다른 데이터의 삽입의 경우에, 본 기술은 사용자들이 서비스를 위한 등록 중 또는 이후 임의의 시간에 개인 정보 데이터의 수집 시의 참여의 "동의함" 또는 "동의하지 않음"을 선택하는 것을 허용하도록 구성될 수 있다. "동의" 및 "동의하지 않음" 옵션들을 제공하는 것에 부가하여, 본 개시내용은 개인 정보의 액세스 또는 사용에 관한 통지들을 제공하는 것을 고려한다. 예를 들어, 사용자는 그들의 개인 정보 데이터가 액세스될 앱을 다운로드할 시에 통지받고, 이어서 개인 정보 데이터가 앱에 의해 액세스되기 직전에 다시 상기하게 될 수 있다.
게다가, 의도하지 않은 또는 인가되지 않은 액세스 또는 사용의 위험들을 최소화하기 위한 방식으로 개인 정보 데이터가 관리되고 취급되어야 한다는 것이 본 개시내용의 의도이다. 위험요소는, 데이터의 수집을 제한하고 데이터가 더 이상 필요하지 않다면 그것을 삭제함으로써 최소화될 수 있다. 추가로, 그리고 소정의 건강 관련 애플리케이션들에서를 포함하여, 적용가능할 때, 데이터 비식별화(de-identification)가 사용자의 프라이버시를 보호하기 위해 사용될 수 있다. 적절한 경우, 식별자들을 제거하는 것, 저장된 데이터의 양 또는 특이성(specificity)을 제어하는 것(예를 들어, 주소 레벨에서보다는 도시 레벨에서 위치 데이터를 수집하는 것), 데이터가 저장되는 방법을 제어하는 것(예를 들어, 사용자들에 걸쳐 데이터를 집계하는 것), 그리고/또는 차등 프라이버시(differential privacy)와 같은 다른 방법들에 의해, 비식별화가 용이하게 될 수 있다.
따라서, 본 개시내용이 하나 이상의 다양한 개시된 실시예를 구현하기 위해 개인 정보 데이터의 사용을 광범위하게 커버하지만, 본 개시내용은 다양한 실시예들이 또한 그러한 개인 정보 데이터에 액세스할 필요 없이 구현될 수 있다는 것을 또한 고려한다. 즉, 본 기술의 다양한 실시예들은 그러한 개인 정보 데이터의 전부 또는 일부의 결여로 인해 동작불가능하게 되지는 않는다. 예를 들어, 원격 디바이스로부터의 콘텐츠 또는 다른 데이터의 삽입은, 사용자와 연관된 디바이스에 의해 요청되는 콘텐츠, 콘텐츠 또는 다른 데이터를 획득하는 어플리케이션에 대해 이용가능한 다른 비-개인 정보, 또는 공개적으로 이용가능한 정보와 같은 비-개인 정보 데이터 또는 최소량의 개인 정보에 기초하여 수행될 수 있다.
도 10은 본 기술의 하나 이상의 구현예가 구현될 수 있는 전자 시스템(1000)을 도시한다. 전자 시스템(1000)은 도 1에 도시된 전자 디바이스(110), 전자 디바이스(111), 전자 디바이스(112), 전자 디바이스(115), 및/또는 서버(120)일 수 있고/있거나 그 일부일 수 있다. 전자 시스템(1000)은 다양한 유형들의 컴퓨터 판독가능 매체들 및 다양한 다른 유형들의 컴퓨터 판독가능 매체들을 위한 인터페이스들을 포함할 수 있다. 전자 시스템(1000)은 버스(1008), 하나 이상의 프로세싱 유닛(들)(1012), 시스템 메모리(1004)(및/또는 버퍼), ROM(1010), 영구 저장 디바이스(1002), 입력 디바이스 인터페이스(1014), 출력 디바이스 인터페이스(1006), 및 하나 이상의 네트워크 인터페이스(1016), 또는 이들의 서브세트들 및 변형들을 포함한다.
버스(1008)는 전자 시스템(1000)의 다수의 내부 디바이스들을 통신가능하게 연결하는 모든 시스템, 주변기기, 및 칩셋 버스들을 총괄하여 표현한다. 하나 이상의 구현예에서, 버스(1008)는 하나 이상의 프로세싱 유닛(들)(1012)을 ROM(1010), 시스템 메모리(1004), 및 영구 저장 디바이스(1002)와 통신가능하게 연결한다. 이들 다양한 메모리 유닛들로부터, 하나 이상의 프로세싱 유닛(들)(1012)은 본 개시의 프로세스들을 실행하기 위해 실행할 명령어들 및 프로세싱할 데이터를 검색한다. 하나 이상의 프로세싱 유닛(들)(1012)은 상이한 구현예들에서 단일 프로세서 또는 멀티-코어 프로세서일 수 있다.
ROM(1010)은 하나 이상의 프로세싱 유닛(들)(1012) 및 전자 시스템(1000)의 다른 모듈들에 의해 필요한 정적 데이터 및 명령어들을 저장한다. 다른 한편, 영구 저장 디바이스(1002)는 판독-기록 메모리 디바이스일 수 있다. 영구 저장 디바이스(1002)는 전자 시스템(1000)이 오프일 때도 명령어들 및 데이터를 저장하는 비휘발성 메모리 유닛일 수 있다. 하나 이상의 구현예에서, 영구 저장 디바이스(1002)로서 (자기 또는 광 디스크 및 그의 대응하는 디스크 드라이브와 같은) 대용량 저장 디바이스가 사용될 수 있다.
하나 이상의 구현예에서, 영구 저장 디바이스(1002)로서 (플로피 디스크, 플래시 드라이브, 및 그의 대응하는 디스크 드라이브와 같은) 제거가능한 저장 디바이스가 사용될 수 있다. 영구 저장 디바이스(1002)와 같이, 시스템 메모리(1004)는 판독-기록 메모리 디바이스일 수 있다. 그러나, 영구 저장 디바이스(1002)와 달리, 시스템 메모리(1004)는 랜덤 액세스 메모리와 같은 휘발성 판독-기록 메모리일 수 있다. 시스템 메모리(1004)는 하나 이상의 프로세싱 유닛(들)(1012)이 런타임 시에 필요로 할 수 있는 명령어들 및 데이터 중 임의의 것을 저장할 수 있다. 하나 이상의 구현예에서, 본 개시의 프로세스들은 시스템 메모리(1004), 영구 저장 디바이스(1002), 및/또는 ROM(1010)에 저장된다. 이들 다양한 메모리 유닛들로부터, 하나 이상의 프로세싱 유닛(들)(1012)은 하나 이상의 구현예들의 프로세스들을 실행하기 위해 실행할 명령어들 및 프로세싱할 데이터를 검색한다.
버스(1008)는 또한 입력 및 출력 디바이스 인터페이스들(1014, 1006)에 연결된다. 입력 디바이스 인터페이스(1014)는 사용자가 전자 시스템(1000)으로 정보를 통신하게 하고 전자 시스템(1000)에 대한 명령들을 선택할 수 있게 한다. 입력 디바이스 인터페이스(1014)와 함께 사용될 수 있는 입력 디바이스들은, 예를 들어, 영숫자 키보드들 및 포인팅 디바이스들("커서 제어 디바이스들"로도 지칭됨)을 포함할 수 있다. 출력 디바이스 인터페이스(1006)는 예를 들어, 전자 시스템(1000)에 의해 생성된 이미지들의 디스플레이를 가능하게 할 수 있다. 출력 디바이스 인터페이스(1006)와 함께 사용될 수 있는 출력 디바이스들은 예를 들어, 프린터들 및 디스플레이 디바이스들, 예컨대 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 가요성 디스플레이, 평판 디스플레이, 솔리드 스테이트 디스플레이, 프로젝터, 또는 정보를 출력하기 위한 임의의 다른 디바이스를 포함할 수 있다. 하나 이상의 구현예는 터치스크린과 같은, 입력 및 출력 디바이스들 둘 모두로서 기능하는 디바이스들을 포함할 수 있다. 이들 구현예들에서, 사용자에게 제공되는 피드백은 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백과 같은 임의의 형태의 감각 피드백일 수 있고; 사용자로부터의 입력은 음향, 음성, 또는 촉각적 입력을 포함하는 임의의 형태로 수신될 수 있다.
마지막으로, 도 10에 도시된 바와 같이, 버스(1008)는, 또한, 하나 이상의 네트워크 인터페이스(들)(1016)를 통해, 전자 시스템(1000)을 하나 이상의 네트워크 및/또는 하나 이상의 네트워크 노드, 예컨대 도 1에 도시된 전자 디바이스(115)에 커플링시킨다. 이러한 방식으로, 전자 시스템(1000)은 컴퓨터들의 네트워크(예컨대 LAN, 광역 네트워크("WAN"), 또는 인트라넷, 또는 네트워크들의 네트워크, 예컨대 인터넷)의 일부일 수 있다. 전자 시스템(1000)의 임의의 또는 모든 컴포넌트들은 본 개시와 함께 사용될 수 있다.
본 발명의 다양한 양태들에 따르면, 메모리, 및 메모리에 통신가능하게 결합되고 디스플레이를 위해 콘텐츠 편집기 애플리케이션의 콘텐츠 편집 뷰를 제공하도록 구성된 적어도 하나의 프로세서를 포함하는 디바이스가 제공된다. 콘텐츠 편집 뷰는 콘텐츠 편집 뷰를 수정하기 위한 하나 이상의 선택가능한 옵션을 포함한다. 하나 이상의 선택가능한 옵션은 디바이스에 통신가능하게 결합된 다른 디바이스로부터 데이터를 획득하기 위한 적어도 하나의 옵션을 포함한다. 적어도 하나의 프로세서는, 콘텐츠 편집기 애플리케이션을 통해, 다른 디바이스로부터 데이터를 획득하기 위한 적어도 하나의 옵션의 선택을 수신하도록 추가로 구성된다. 적어도 하나의 프로세서는, 콘텐츠 편집기 애플리케이션을 통해, 다른 디바이스 상의 추가 애플리케이션을 활성화시키도록 추가로 구성된다. 적어도 하나의 프로세서는 다른 디바이스 상의 추가 애플리케이션으로부터 콘텐츠 편집 뷰를 수정하기 위한 데이터를 수신하도록 추가로 구성된다.
본 발명의 다양한 양태들에 따르면, 적어도 하나의 컴퓨팅 디바이스에 의해 실행될 때, 적어도 하나의 컴퓨팅 디바이스로 하여금, 디스플레이를 위해 콘텐츠 편집기 애플리케이션의 콘텐츠 편집 뷰를 제공하는 단계를 포함하는 동작들을 수행하게 하는 명령어들을 포함하는 비일시적 컴퓨터 판독가능 매체가 제공된다. 콘텐츠 편집 뷰는 콘텐츠 편집 뷰 내로의 콘텐츠의 삽입을 위한 하나 이상의 선택가능한 옵션을 포함한다. 하나 이상의 선택가능한 옵션은 원격 디바이스로부터 콘텐츠를 획득하기 위한 적어도 하나의 옵션을 포함한다. 동작들은, 콘텐츠 편집기 애플리케이션 내에서부터, 원격 디바이스로부터 콘텐츠를 획득하기 위한 적어도 하나의 옵션의 선택을 수신하는 단계를 추가로 포함한다. 동작들은, 콘텐츠 편집기 애플리케이션을 이용하여, 원격 디바이스 상의 추가 애플리케이션을 활성화시키는 단계를 추가로 포함한다. 동작들은 원격 디바이스 상의 추가 애플리케이션으로부터, 콘텐츠 편집기 애플리케이션을 이용하여, 콘텐츠 편집 뷰 내로의 삽입을 위한 콘텐츠를 수신하는 단계를 포함한다.
본 발명의 다양한 양태들에 따르면, 제1 전자 디바이스 상에서 실행되는 콘텐츠 편집기 애플리케이션 내에서부터, 제2 전자 디바이스의 컴포넌트를 활성화시키도록 구성된 제1 전자 디바이스를 포함하는 시스템이 제공된다. 시스템은 제2 전자 디바이스를 추가로 포함한다. 제2 전자 디바이스는 콘텐츠 편집기 애플리케이션에 대한 데이터를 생성하기 위해 제2 전자 디바이스의 컴포넌트를 제어하도록 구성된다. 제2 전자 디바이스는 데이터를 사용하여 제1 전자 디바이스의 콘텐츠 편집기 애플리케이션의 콘텐츠 편집 뷰를 수정하도록 추가로 구성된다.
본 발명의 다양한 양태들에 따르면, 메모리, 및 메모리에 통신가능하게 결합된 적어도 하나의 프로세서를 포함하는 디바이스가 제공된다. 적어도 하나의 프로세서는, 테마를 사용하는 디스플레이를 위해, 애플리케이션의 사용자 인터페이스 뷰를 제공하도록 구성된다. 사용자 인터페이스 뷰는 사용자 인터페이스 뷰를 수정하기 위한 하나 이상의 선택가능한 옵션을 포함한다. 하나 이상의 선택가능한 옵션은 디바이스에 통신가능하게 결합된 다른 디바이스로부터 데이터를 획득하기 위한 적어도 하나의 옵션을 포함한다. 적어도 하나의 프로세서는, 애플리케이션을 통해, 다른 디바이스로부터 데이터를 획득하기 위한 적어도 하나의 옵션의 선택을 수신하도록 추가로 구성된다. 적어도 하나의 프로세서는, 애플리케이션을 통해, 데이터를 생성하기 위해 다른 디바이스의 컴포넌트를 활성화시키도록 추가로 구성된다. 적어도 하나의 프로세서는 다른 디바이스로부터 데이터를 수신하도록 추가로 구성된다. 적어도 하나의 프로세서는 데이터를 사용하여 사용자 인터페이스 뷰의 테마를 수정하도록 추가로 구성된다.
본 발명의 다양한 양태들에 따르면, 메모리, 및 메모리에 통신가능하게 결합된 적어도 하나의 프로세서를 포함하는 디바이스가 제공된다. 적어도 하나의 프로세서는, 디스플레이를 위해, 파일 관리자 애플리케이션의 사용자 인터페이스 뷰를 제공하도록 구성된다. 사용자 인터페이스 뷰는 메모리 내에 저장된 파일 내에 데이터를 입력하기 위한 하나 이상의 선택가능한 옵션을 포함한다. 하나 이상의 선택가능한 옵션은 다른 디바이스로부터 데이터를 획득하기 위한 적어도 하나의 옵션을 포함한다. 적어도 하나의 프로세서는, 파일 관리자 애플리케이션을 통해, 다른 디바이스로부터 데이터를 획득하기 위한 적어도 하나의 옵션의 선택을 수신하도록 추가로 구성된다. 적어도 하나의 프로세서는, 파일 관리자 애플리케이션을 통해, 데이터를 생성하기 위해 다른 디바이스 상의 다른 애플리케이션을 활성화시키도록 추가로 구성된다. 적어도 하나의 프로세서는, 파일 관리자 애플리케이션을 통해, 다른 디바이스로부터 데이터를 수신하도록 추가로 구성된다. 적어도 하나의 프로세서는, 파일 관리자 애플리케이션을 통해, 데이터를 파일 내에 입력하도록 추가로 구성된다.
본 개시의 범주 내의 구현예들은 하나 이상의 명령어를 인코딩하는 유형(tangible) 컴퓨터 판독가능 저장 매체(또는 하나 이상의 유형의 다수의 유형 컴퓨터 판독가능 저장 매체들)를 사용하여 부분적으로 또는 전체적으로 실현될 수 있다. 유형 컴퓨터 판독가능 저장 매체는 또한 사실상 비-일시적일 수 있다.
컴퓨터 판독가능 저장 매체는 명령어들을 실행할 수 있는 임의의 프로세싱 전자장치 및/또는 프로세싱 회로부를 포함하는 범용 또는 특수 목적 컴퓨팅 디바이스에 의해 판독, 기록, 또는 그렇지 않으면 액세스될 수 있는 임의의 저장 매체일 수 있다. 예를 들어, 제한 없이, 컴퓨터 판독가능 매체는 RAM, DRAM, SRAM, T-RAM, Z-RAM, 및 TTRAM과 같은 임의의 휘발성 반도체 메모리를 포함할 수 있다. 컴퓨터 판독가능 매체는 또한 ROM, PROM, EPROM, EEPROM, NVRAM, 플래시, nvSRAM, FeRAM, FeTRAM, MRAM, PRAM, CBRAM, SONOS, RRAM, NRAM, 레이스트랙(racetrack) 메모리, FJG, 및 밀리피드(Millipede) 메모리와 같은 임의의 비휘발성 반도체 메모리를 포함할 수 있다.
또한, 컴퓨터 판독가능 저장 매체는 임의의 비-반도체 메모리, 예컨대 광 디스크 저장소, 자기 디스크 저장소, 자기 테이프, 다른 자기 저장 디바이스들, 또는 하나 이상의 명령어를 저장할 수 있는 임의의 다른 매체를 포함할 수 있다. 하나 이상의 구현예에서, 유형 컴퓨터 판독가능 저장 매체는 컴퓨팅 디바이스에 직접 결합될 수 있는 반면, 다른 구현예들에서, 유형 컴퓨터 판독가능 저장 매체는 컴퓨팅 디바이스에, 예를 들어 하나 이상의 유선 연결부, 하나 이상의 무선 연결부, 또는 이들의 임의의 조합을 통해, 간접적으로 결합될 수 있다.
명령어들은 직접 실행가능할 수 있거나 또는 실행가능 명령어들을 개발하는 데 사용될 수 있다. 예를 들어, 명령어들은 실행가능 또는 비-실행가능 기계 코드로서, 또는 실행가능 또는 비-실행가능 기계 코드를 생성하도록 컴파일링될 수 있는 고레벨 언어에서의 명령어들로서 실현될 수 있다. 또한, 명령어들은 또한 데이터로서 실현될 수 있거나 데이터를 포함할 수 있다. 컴퓨터 실행가능 명령어들은 또한 루틴들, 서브루틴들, 프로그램들, 데이터 구조들, 객체들, 모듈들, 애플리케이션들, 애플릿들, 함수들 등을 비롯한 임의의 포맷으로 조직화될 수 있다. 당업자에 의해 인식되는 바와 같이, 명령어들의 수, 구조, 시퀀스, 및 조직화를 포함하지만 이에 제한되지 않는 상세사항들은 기초가 되는 로직, 함수, 프로세싱, 및 출력을 변경하지 않으면서 현저하게 변경될 수 있다.
위의 논의는 소프트웨어를 실행시키는 마이크로프로세서 또는 멀티-코어 프로세서들을 주로 언급하지만, 하나 이상의 구현예는 ASIC들 또는 FPGA들과 같은 하나 이상의 집적 회로에 의해 수행된다. 하나 이상의 구현예에서, 그러한 집적 회로들은 회로 자체에 저장된 명령어들을 실행시킨다.
당업자는 본 명세서에 설명된 다양한 예시적인 블록들, 모듈들, 요소들, 컴포넌트들, 방법들, 및 알고리즘들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 둘 모두의 조합들로서 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 호환성을 예시하기 위해, 다양한 예시적인 블록들, 모듈들, 요소들, 컴포넌트들, 방법들, 및 알고리즘들이 일반적으로 그들의 기능성에 관하여 전술되었다. 그러한 기능성이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 전체 시스템에 부과되는 특정 애플리케이션 및 설계 제약들에 의존한다. 당업자는 설명된 기능성을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수 있다. 다양한 컴포넌트들 및 블록들이 모두 본 기술의 범주로부터 벗어남이 없이 상이하게 배열될 수 있다(예를 들어, 상이한 순서로 배열되거나 상이한 방식으로 분할됨).
개시된 프로세스들에서 블록들의 임의의 특정한 순서 또는 계층이 예시적인 접근법들의 예시임이 이해된다. 설계 선호도들에 기초하여, 프로세스들에서 블록들의 특정한 순서 또는 계층이 재배열될 수 있거나, 또는 모든 예시된 블록들이 수행될 수 있는 것이 이해된다. 블록들 중 임의의 것들이 동시에 수행될 수 있다. 하나 이상의 구현예에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 더욱이, 전술한 구현예들에서의 다양한 시스템 컴포넌트들의 분리는 모든 구현예들에서 그러한 분리를 요구하는 것으로 이해되지 않아야 하며, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품 내에 함께 통합되거나 다수의 소프트웨어 제품 내에 패키징될 수 있다는 것을 이해해야 한다.
본 명세서 및 본 출원의 임의의 청구항들에서 사용된 바와 같이, 용어들 "기지국", "수신기", "컴퓨터", "서버", "프로세서", 및 "메모리" 모두는 전자 또는 다른 기술적인 디바이스들을 지칭한다. 이러한 용어들은 사람들 또는 사람들의 그룹들을 배제한다. 본 명세서의 목적들을 위해, 용어들 "디스플레이" 또는 "디스플레이하는"은 전자 디바이스 상에서 디스플레이하는 것을 의미한다.
본 명세서에서 사용되는 바와 같이, 항목들 중 임의의 것을 구분하기 위해 용어 "및" 또는 "또는"을 갖는 일련의 항목들 뒤에 오는 어구 "중 적어도 하나"는 리스트의 각각의 멤버(즉, 각각의 항목)보다는 리스트를 전체적으로 수식한다. 어구 "중 적어도 하나"는 열거된 각각의 항목 중 적어도 하나의 선택을 요구하지 않고, 오히려, 이 어구는 항목들 중 임의의 것 중 적어도 하나, 및/또는 항목들의 임의의 조합 중 적어도 하나, 및/또는 항목들 각각 중 적어도 하나를 포함하는 의미를 허용한다. 예시의 방식으로, 어구 "A, B 및 C 중 적어도 하나" 또는 어구 "A, B 또는 C 중 적어도 하나" 각각은 오직 A, 오직 B 또는 오직 C; A, B, 및 C의 임의의 조합; 및/또는 A, B, 및 C 각각의 적어도 하나를 지칭한다.
서술 문구들 "~ 하도록 구성되는", "~ 하도록 동작가능한", 및 "~ 하도록 프로그래밍된"은 대상의 임의의 특정한 유형 또는 비유형의 변형을 암시하지 않고, 오히려 상호교환가능하게 사용되도록 의도된다. 하나 이상의 구현예에서, 동작 또는 컴포넌트를 모니터링 및 제어하도록 구성된 프로세서는 또한 동작을 모니터링 및 제어하도록 프로그래밍되는 프로세서, 또는 동작을 모니터링 및 제어하도록 동작가능한 프로세서를 의미할 수 있다. 마찬가지로, 코드를 실행하도록 구성된 프로세서는 코드를 실행하도록 프로그래밍되거나 코드를 실행하도록 동작가능한 프로세서로서 해석될 수 있다.
일 양태, 양태, 다른 양태, 일부 양태들, 하나 이상의 양태, 일 구현예, 구현예, 다른 구현예, 일부 구현예들, 하나 이상의 구현예, 일 실시예, 실시예, 다른 실시예, 일부 구현예들, 하나 이상의 구현예, 일 구성, 구성, 다른 구성, 일부 구성들, 하나 이상의 구성, 본 발명의 기술, 개시, 본 개시, 이들의 다른 변형들 등과 같은 어구들은 편의를 위한 것이며, 이러한 어구(들)와 관련된 개시가 본 발명의 기술에 필수적인 것이라거나 이러한 개시가 본 발명의 기술의 모든 구성들에 적용되는 것을 의미하지는 않는다. 이러한 어구(들)와 관련된 개시는 모든 구성들 또는 하나 이상의 구성에 적용될 수 있다. 이러한 어구(들)와 관련된 개시는 하나 이상의 예를 제공할 수 있다. 일 양태 또는 일부 양태들과 같은 어구는 하나 이상의 양태를 지칭할 수 있고 그 반대도 마찬가지이며, 이는 다른 전술한 어구들에 유사하게 적용된다.
본 명세서에서 단어 "예시적인"은 "일례, 사례, 또는 예시의 역할을 하는 것"을 의미하기 위해 사용된다. 본 명세서에서 "예시적인" 또는 "일례"로서 설명된 임의의 실시예는 반드시 다른 구현예들에 비해 바람직하거나 유리한 것으로 해석되어야 하는 것은 아니다. 또한, 용어 "포함한다", "갖는다" 등이 상세한 설명 또는 청구항에 사용되는 범위까지, 그러한 용어는, 청구항에서 "포함하다"가 전이 어구로서 이용되는 경우 해석되는 바와 같이, 용어 "포함하다"와 유사한 방식으로 포괄적으로 의도된다.
당해 기술 분야에서 통상의 지식을 가진 자들에게 공지되거나 추후에 알려지게 될 본 개시 전반에 걸쳐 설명된 다양한 양태들의 요소들에 대한 모든 구조적 및 기능적 등가물은 본 명세서에서 참조로서 명시적으로 포함되며 청구항들에 포함되는 것으로 의도된다. 또한, 본 명세서에 개시된 어떠한 것도 그러한 개시가 청구항들에 명시적으로 언급되었는지 여부에 관계없이 대중에게 전용되도록 의도되는 것은 아니다. 어떠한 청구항 구성요소도, 그 구성요소가 "수단"이라는 문구를 사용하여 명시적으로 인용되지 않는 한, 또는 방법 청구항의 경우 구성요소가 "단계"라는 문구를 사용하여 인용되지 않는 한, 35 U.S.C.§112의 제6 단락의 규정 하에서 해석되어서는 안된다.
이전의 설명은 당업자가 본 명세서에 설명된 다양한 양태들을 실시할 수 있도록 제공된다. 이러한 양태들에 대한 다양한 변형들은 당업자들에게 용이하게 명백할 것이며, 본 명세서에 정의된 일반적인 원리들은 다른 양태들에 적용될 수 있다. 따라서, 청구항은 본 명세서에 도시된 양태들로 제한되는 것으로 의도되는 것이 아니라, 언어 청구항에 부합하는 전체 범주로 허용되어야 하며, 여기서 단수의 구성요소에 대한 언급은 구체적으로 그와 같이 언급되지 않는 한 "오직 하나만"을 의미하도록 의도되는 것이 아니고, 오히려 "하나 이상"을 의미하는 것으로 의도된다. 달리 구체적으로 언급되지 않는 한, 용어 "일부"는 하나 이상을 지칭한다. 남성 대명사(예를 들어, 그의)는 여성 및 중성(예를 들어, 그녀의 및 그것의)을 포함하고, 그 반대의 경우도 마찬가지이다. 표제들 및 부제목들은, 존재한다면, 오직 편의를 위해서만 사용되며 본 개시를 제한하지 않는다.

Claims (62)

  1. 디바이스로서,
    메모리; 및
    상기 메모리에 통신가능하게 결합된 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는,
    상기 디바이스와 별개이고 상기 디바이스에 통신가능하게 결합된 하나 이상의 다른 디바이스를 식별하고 - 상기 하나 이상의 다른 디바이스는 휴대용 컴퓨팅 디바이스를 포함하고, 상기 휴대용 컴퓨팅 디바이스는 상기 휴대용 컴퓨팅 디바이스에서 실행될 수 있는 복수의 애플리케이션을 저장하고 있음 -;
    상기 하나 이상의 다른 디바이스 중 각각의 다른 디바이스의 하나 이상의 이용가능한 피처(feature)를 식별하고 - 상기 하나 이상의 이용가능한 피처는 상기 휴대용 컴퓨팅 디바이스의 복수의 이용가능한 피처를 포함함 -;
    이미지 입력 유형을 포함하는 복수의 입력 유형을 식별하고 - 상기 복수의 입력 유형은 상기 휴대용 컴퓨팅 디바이스의 상기 복수의 이용가능한 피처에 의해 제공될 수 있음 -;
    디스플레이를 위해, 콘텐츠 편집기 애플리케이션의 콘텐츠 편집 뷰를 제공하고 - 상기 콘텐츠 편집 뷰는 상기 콘텐츠 편집 뷰를 수정하기 위한 하나 이상의 선택가능한 옵션을 포함하고, 상기 하나 이상의 선택가능한 옵션은 상기 휴대용 컴퓨팅 디바이스의 상기 복수의 이용가능한 피처에 의해 제공될 수 있는 상기 복수의 식별된 입력 유형 중 하나에 각각 대응하는 복수의 선택가능한 옵션을 포함함 -;
    상기 콘텐츠 편집기 애플리케이션을 통해, 상기 휴대용 컴퓨팅 디바이스로부터 상기 대응하는 식별된 입력 유형의 데이터를 획득하기 위해 상기 복수의 선택가능한 옵션 중 하나의 옵션의 선택을 수신하고;
    상기 콘텐츠 편집기 애플리케이션을 통해, 상기 휴대용 컴퓨팅 디바이스 상의 상기 복수의 애플리케이션 중의 애플리케이션을 활성화시키고 - 상기 애플리케이션은 상기 복수의 선택가능한 옵션 중 상기 하나의 옵션에, 그리고 상기 대응하는 식별된 입력 유형에 대응함 -;
    상기 휴대용 컴퓨팅 디바이스 상의 상기 애플리케이션으로부터 상기 디바이스의 상기 콘텐츠 편집 뷰를 수정하기 위한 상기 대응하는 식별된 입력 유형의 상기 데이터를 수신하고;
    상기 디바이스에서의 디스플레이를 위해, 상기 콘텐츠 편집 뷰를 수정하기 위한 상기 대응하는 식별된 입력 유형의 상기 데이터를 제공하도록 구성되는, 디바이스.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서, 이용가능한 컴포넌트를 추가로 포함하고, 상기 적어도 하나의 프로세서는 데이터를 상기 휴대용 컴퓨팅 디바이스에 제공하기 위해 상기 이용가능한 컴포넌트의 사용을 위한 피처 플래그를 광고하도록 추가로 구성되는, 디바이스.
  5. 제4항에 있어서, 상기 이용가능한 컴포넌트는 카메라, 터치 스크린, 스타일러스, 광 센서, 모션 센서, 활동 센서, 또는 위치 센서를 포함하는, 디바이스.
  6. 제1항에 있어서, 상기 데이터는 이미지, 비디오, 증강 현실 콘텐츠, 이미지 마크업 메타데이터, 필기 인식 데이터, 또는 프리핸드 스케치 데이터를 포함하는, 디바이스.
  7. 제1항에 있어서, 상기 애플리케이션이 활성화되고, 상기 데이터는 상기 휴대용 컴퓨팅 디바이스 상에서 상기 콘텐츠 편집기 애플리케이션의 실행 없이 수신되는, 디바이스.
  8. 제1항에 있어서, 상기 애플리케이션은 상기 디바이스 또는 상기 콘텐츠 편집기 애플리케이션에 관련되지 않는, 디바이스.
  9. 제1항에 있어서, 상기 애플리케이션은 상기 휴대용 컴퓨팅 디바이스의 카메라와 연관된 카메라 애플리케이션, 상기 휴대용 컴퓨팅 디바이스의 스타일러스와 연관된 드로잉 엔트리 애플리케이션, 필기 인식 애플리케이션, 또는 이미지 마크업 애플리케이션인, 디바이스.
  10. 제1항에 있어서, 상기 콘텐츠 편집 뷰는 워드 프로세싱 애플리케이션에서의 문서의 표현을 포함하는, 디바이스.
  11. 제1항에 있어서, 상기 콘텐츠 편집기 애플리케이션은 워드 프로세서, 프레젠테이션 편집기, 이메일 편집기, 스프레드시트, 이미지 편집 애플리케이션, 또는 메시징 애플리케이션을 포함하는, 디바이스.
  12. 제1항에 있어서, 상기 데이터를 수신하는 것은,
    상기 콘텐츠 편집기 애플리케이션을 이용하여, 삽입을 위한 콘텐츠를 생성하기 위해 상기 휴대용 컴퓨팅 디바이스의 컴포넌트를 동작시키기 위한 커맨드들을 생성하는 것; 및
    상기 생성된 커맨드들을 상기 디바이스의 통신 회로부를 이용하여 상기 휴대용 컴퓨팅 디바이스에 제공하는 것을 포함하는, 디바이스.
  13. 제1항에 있어서, 상기 데이터를 수신하는 것은,
    상기 디바이스의 상기 콘텐츠 편집기 애플리케이션으로부터 상기 디바이스의 애플리케이션 프로그래밍 인터페이스로, 상기 데이터를 요청하기 위한 기능을 호출하는 것; 및
    상기 애플리케이션 프로그래밍 인터페이스를 통해, 상기 기능의 상기 호출에 응답하여, 삽입을 위한 콘텐츠를 생성하기 위해 상기 휴대용 컴퓨팅 디바이스의 컴포넌트를 동작시키기 위한 커맨드들을 제공하는 것을 포함하는, 디바이스.
  14. 방법으로서,
    디바이스에 의해, 상기 디바이스와 별개이고 상기 디바이스에 통신가능하게 결합된 하나 이상의 다른 디바이스를 식별하는 단계 - 상기 하나 이상의 다른 디바이스는 휴대용 컴퓨팅 디바이스를 포함하고, 상기 휴대용 컴퓨팅 디바이스는 상기 휴대용 컴퓨팅 디바이스에서 실행될 수 있는 복수의 애플리케이션을 저장하고 있음 -;
    상기 디바이스에 의해, 상기 하나 이상의 다른 디바이스 중 각각의 다른 디바이스의 하나 이상의 이용가능한 피처를 식별하는 단계 - 상기 하나 이상의 이용가능한 피처는 상기 휴대용 컴퓨팅 디바이스의 복수의 이용가능한 피처를 포함함 -;
    이미지 입력 유형을 포함하는 복수의 입력 유형을 식별하는 단계 - 상기 복수의 입력 유형은 상기 휴대용 컴퓨팅 디바이스의 상기 복수의 이용가능한 피처에 의해 제공될 수 있음 -;
    상기 디바이스에 의해 그리고 디스플레이를 위해, 콘텐츠 편집기 애플리케이션의 콘텐츠 편집 뷰를 제공하는 단계 - 상기 콘텐츠 편집 뷰는 상기 콘텐츠 편집 뷰를 수정하기 위한 하나 이상의 선택가능한 옵션을 포함하고, 상기 하나 이상의 선택가능한 옵션은 상기 휴대용 컴퓨팅 디바이스의 상기 복수의 이용가능한 피처에 의해 제공될 수 있는 상기 복수의 식별된 입력 유형 중 하나에 각각 대응하는 복수의 선택가능한 옵션을 포함함 -;
    상기 콘텐츠 편집기 애플리케이션을 통해, 상기 휴대용 컴퓨팅 디바이스로부터 상기 대응하는 식별된 입력 유형의 데이터를 획득하기 위해 상기 복수의 선택가능한 옵션 중 하나의 옵션의 선택을 수신하는 단계;
    상기 콘텐츠 편집기 애플리케이션을 통해, 상기 휴대용 컴퓨팅 디바이스 상의 상기 복수의 애플리케이션 중의 애플리케이션을 활성화시키는 단계 - 상기 애플리케이션은 상기 복수의 선택가능한 옵션 중 상기 하나의 옵션에, 그리고 상기 대응하는 식별된 입력 유형에 대응함 -;
    상기 휴대용 컴퓨팅 디바이스 상의 상기 애플리케이션으로부터 상기 디바이스의 상기 콘텐츠 편집 뷰를 수정하기 위한 상기 대응하는 식별된 입력 유형의 상기 데이터를 수신하는 단계; 및
    상기 디바이스에서의 디스플레이를 위해, 상기 콘텐츠 편집 뷰를 수정하기 위한 상기 대응하는 식별된 입력 유형의 상기 데이터를 제공하는 단계를 포함하는, 방법.
  15. 삭제
  16. 삭제
  17. 제14항에 있어서,
    상기 휴대용 컴퓨팅 디바이스에 데이터를 제공하기 위해 이용가능한 컴포넌트의 사용을 위한 피처 플래그를 광고하는 단계를 추가로 포함하는, 방법.
  18. 제14항에 있어서,
    상기 휴대용 컴퓨팅 디바이스 상의 상기 활성화된 애플리케이션으로부터 실시간 미리보기 데이터를 수신하는 단계; 및
    상기 콘텐츠 편집기 애플리케이션의 상기 콘텐츠 편집 뷰에서의 디스플레이를 위해, 상기 실시간 미리보기 데이터를 제공하는 단계를 추가로 포함하고,
    상기 콘텐츠 편집 뷰를 수정하기 위한 상기 데이터를 제공하는 상기 단계는 상기 실시간 미리보기 데이터 대신에 디스플레이를 위해 상기 데이터를 제공하는 단계를 포함하는, 방법.
  19. 시스템으로서,
    제1 전자 디바이스; 및
    복수의 애플리케이션 및 각각이 상기 복수의 애플리케이션 중 개개의 애플리케이션과 연관되는 복수의 컴포넌트를 가지는 제2 전자 디바이스를 포함하고,
    상기 제2 전자 디바이스는,
    상기 제2 전자 디바이스에 근접하고 상기 제2 전자 디바이스의 사용자 계정과 연관된 상기 제1 전자 디바이스로 복수의 피처를 광고하도록 구성되고 - 각각의 피처는 상기 복수의 애플리케이션 중 개개의 애플리케이션과 연관됨 -;
    상기 제1 전자 디바이스는,
    상기 제1 전자 디바이스 상에서 실행되는 콘텐츠 편집기 애플리케이션 내에서부터 상기 피처들 중 하나의 피처의 선택을 수신하고;
    상기 제1 전자 디바이스 상에서 실행되는 상기 콘텐츠 편집기 애플리케이션 내에서부터, 상기 제2 전자 디바이스의 상기 선택된 피처와 연관된 상기 애플리케이션들 중 하나의 애플리케이션을 활성화시키기 위해 상기 제2 전자 디바이스로 신호를 제공하도록 구성되고;
    상기 제2 전자 디바이스는,
    상기 신호에 응답하여, 그리고 상기 제2 전자 디바이스에 대한 사용자 입력 없이, 상기 애플리케이션들 중 상기 하나의 애플리케이션 및 상기 컴포넌트들 중 하나의 컴포넌트를 활성화시키고;
    상기 애플리케이션들 중 상기 활성화된 하나의 애플리케이션에 의해, 그리고 상기 제2 전자 디바이스에 대한 사용자 입력 없이, 상기 애플리케이션들 중 상기 활성화된 하나의 애플리케이션을 통해 상기 컴포넌트들 중 상기 하나의 컴포넌트를 동작시키기 위한 사용자 옵션을 제공하고;
    사용자 입력을 수신하고;
    상기 사용자 입력에 기초하여, 상기 콘텐츠 편집기 애플리케이션에 대한 데이터를 생성하기 위해 상기 제2 전자 디바이스의 상기 컴포넌트들 중 상기 하나의 컴포넌트를 제어하고;
    상기 데이터를 사용하여 상기 제1 전자 디바이스의 상기 콘텐츠 편집기 애플리케이션의 콘텐츠 편집 뷰의 수정을 위해 상기 제1 전자 디바이스로 상기 생성된 데이터를 제공하도록 구성되는, 시스템.
  20. 제19항에 있어서, 상기 제2 전자 디바이스는 스마트폰 또는 태블릿 디바이스이고, 상기 제2 전자 디바이스의 상기 컴포넌트는 카메라이고, 상기 제2 전자 디바이스는 상기 제2 전자 디바이스에서 이미지 캡처 옵션의 선택에 응답하여, 이미지를 캡처하도록 상기 카메라를 동작시킴으로써 상기 컴포넌트를 제어하도록 구성되는, 시스템.
  21. 제20항에 있어서, 상기 제2 전자 디바이스는, 상기 제2 전자 디바이스에서 상기 이미지 캡처 옵션의 상기 선택에 응답하여, 상기 제2 전자 디바이스 또는 상기 제1 전자 디바이스에 대한 추가적인 입력 없이, 상기 캡처된 이미지를 상기 제2 전자 디바이스로부터 상기 제1 전자 디바이스의 상기 콘텐츠 편집기 애플리케이션으로 송신함으로써 상기 데이터를 사용하여 상기 콘텐츠 편집 뷰를 수정하도록 구성되는, 시스템.
  22. 제21항에 있어서, 상기 콘텐츠 편집기 애플리케이션은 상기 콘텐츠 편집 뷰에서 편집하기 위한 디스플레이된 문서를 갖는 워드 프로세싱 애플리케이션을 포함하고, 상기 제2 전자 디바이스는 상기 캡처된 이미지를 상기 제2 전자 디바이스에 저장하지 않고, 상기 디스플레이된 문서에서의 디스플레이를 위해 상기 캡처된 이미지를 송신하도록 구성되는, 시스템.
  23. 제19항에 있어서, 제3 전자 디바이스를 추가로 포함하고, 상기 제1 전자 디바이스는,
    상기 제2 전자 디바이스의 상기 컴포넌트를 활성화시키기 전에,
    상기 콘텐츠 편집기 애플리케이션에서, 통신가능하게 결합된 디바이스들의 리스트 및 상기 통신가능하게 결합된 디바이스들 각각에 대한 하나 이상의 데이터 생성 피처의 표시를 획득하고;
    상기 콘텐츠 편집기 애플리케이션을 이용한 디스플레이를 위해, 상기 하나 이상의 데이터 생성 피처에 기초하여 원격으로 획득가능한 콘텐츠 유형들의 리스트를 제공하고;
    상기 콘텐츠 편집기 애플리케이션을 이용하여, 상기 원격으로 획득가능한 콘텐츠 유형들 중 하나의 선택을 수신하고;
    상기 콘텐츠 편집기 애플리케이션을 이용하여, 상기 제2 전자 디바이스 및 상기 제3 전자 디바이스를 상기 원격으로 획득가능한 콘텐츠 유형들 중 하나를 제공하기 위한 이용가능한 디바이스들로서 식별하고;
    상기 제2 전자 디바이스의 상기 컴포넌트를 활성화시키는 것과 동시에, 상기 원격으로 획득가능한 콘텐츠 유형들 중 하나의 상기 선택에 응답하여, 상기 제3 전자 디바이스의 컴포넌트를 활성화시키도록 추가로 구성되는, 시스템.
  24. 제23항에 있어서, 상기 제1 전자 디바이스는,
    상기 제2 전자 디바이스로부터 상기 콘텐츠 편집기 애플리케이션을 이용하여, 상기 제2 전자 디바이스가 상기 원격으로 획득가능한 콘텐츠 유형들 중 하나를 획득하기 위해 선택되었다는 표시를 수신하고;
    상기 표시에 응답하여, 상기 제3 전자 디바이스의 상기 컴포넌트를 비활성화시키도록 추가로 구성되는, 시스템.
  25. 제23항에 있어서, 상기 표시는,
    상기 제2 전자 디바이스의 움직임의 표시;
    상기 제2 전자 디바이스 상의 이미지 캡처 동작의 표시;
    상기 제2 전자 디바이스와 연관된 스타일러스의 움직임의 표시; 및
    상기 제2 전자 디바이스의 터치스크린에 대한 터치 입력 중 적어도 하나를 포함하는, 시스템.
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
KR1020207033972A 2018-06-01 2019-05-30 원격 디바이스로부터의 직접 입력 KR102482361B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227045475A KR102606037B1 (ko) 2018-06-01 2019-05-30 원격 디바이스로부터의 직접 입력

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201862679602P 2018-06-01 2018-06-01
US62/679,602 2018-06-01
US16/147,482 2018-09-28
US16/147,482 US11074116B2 (en) 2018-06-01 2018-09-28 Direct input from a remote device
US16/147,486 US11061744B2 (en) 2018-06-01 2018-09-28 Direct input from a remote device
US16/147,489 2018-09-28
US16/147,489 US20190370094A1 (en) 2018-06-01 2018-09-28 Direct input from a remote device
US16/147,486 2018-09-28
PCT/US2019/034727 WO2019232258A1 (en) 2018-06-01 2019-05-30 Direct input from a remote device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227045475A Division KR102606037B1 (ko) 2018-06-01 2019-05-30 원격 디바이스로부터의 직접 입력

Publications (2)

Publication Number Publication Date
KR20210003224A KR20210003224A (ko) 2021-01-11
KR102482361B1 true KR102482361B1 (ko) 2022-12-30

Family

ID=68693235

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227045475A KR102606037B1 (ko) 2018-06-01 2019-05-30 원격 디바이스로부터의 직접 입력
KR1020207033972A KR102482361B1 (ko) 2018-06-01 2019-05-30 원격 디바이스로부터의 직접 입력

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020227045475A KR102606037B1 (ko) 2018-06-01 2019-05-30 원격 디바이스로부터의 직접 입력

Country Status (5)

Country Link
US (3) US11061744B2 (ko)
EP (1) EP3803641A1 (ko)
KR (2) KR102606037B1 (ko)
CN (1) CN112136099A (ko)
WO (1) WO2019232258A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3087153A1 (en) * 2019-07-18 2021-01-18 Vica Digital Solutions Inc. Electronic document systems, method and uses
US11625155B2 (en) * 2020-03-23 2023-04-11 Ricoh Company, Ltd. Information processing system, user terminal, method of processing information
US11379056B2 (en) * 2020-09-28 2022-07-05 Arian Gardner Editor's pen pad
US11307749B1 (en) * 2021-01-13 2022-04-19 Dell Products L.P. Managing content of a user interface
US11503358B1 (en) 2021-10-19 2022-11-15 Motorola Mobility Llc Electronic devices and corresponding methods utilizing ultra-wideband communication signals for user interface enhancement
US11907495B2 (en) * 2021-10-19 2024-02-20 Motorola Mobility Llc Electronic devices and corresponding methods utilizing ultra-wideband communication signals for user interface enhancement
US11606456B1 (en) 2021-10-19 2023-03-14 Motorola Mobility Llc Electronic devices and corresponding methods utilizing ultra-wideband communication signals for user interface enhancement
US20230376193A1 (en) * 2022-05-17 2023-11-23 Apple Inc. User interfaces for device controls

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110058052A1 (en) 2009-09-04 2011-03-10 Apple Inc. Systems and methods for remote camera control
US20130293492A1 (en) * 2010-01-12 2013-11-07 Apple Inc. Apparatus and method for interacting with handheld carrier hosting media content
US20170205980A1 (en) * 2016-01-18 2017-07-20 Microsoft Technology Licensing, Llc Method and an apparatus for providing a multitasking view
US20170337234A1 (en) 2016-05-20 2017-11-23 Adobe Systems Incorporated Using an Action Registry to Edit Data Across Users and Devices

Family Cites Families (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266504B1 (en) * 1995-10-11 2007-09-04 Stamps.Com Inc. System and method for printing multiple postage indicia
US5805777A (en) * 1995-10-11 1998-09-08 Eastman Kodak Company Extended printer control interface
US7272604B1 (en) * 1999-09-03 2007-09-18 Atle Hedloy Method, system and computer readable medium for addressing handling from an operating system
JP2001285570A (ja) * 2000-01-27 2001-10-12 Canon Inc 画像入力システム及び装置及び方法並びに記憶媒体
US6643721B1 (en) * 2000-03-22 2003-11-04 Intel Corporation Input device-adaptive human-computer interface
JP2001346031A (ja) * 2000-06-05 2001-12-14 Fuji Photo Film Co Ltd 画像合成方法及び装置
US6907301B2 (en) * 2000-10-16 2005-06-14 Sony Corporation Method and system for selecting and controlling devices in a home network
US8726294B2 (en) 2010-10-01 2014-05-13 Z124 Cross-environment communication using application space API
US20050146634A1 (en) * 2003-12-31 2005-07-07 Silverstein D. A. Cameras, optical systems, imaging methods, and optical filter configuration methods
US8996454B2 (en) * 2004-01-07 2015-03-31 Nokia Corporation Remote management and access of databases, services and devices associated with a mobile terminal
JP4432628B2 (ja) 2004-06-07 2010-03-17 株式会社デンソー 車両遠隔監視システム、車両情報通信装置、通信端末、及び操作機
US20060069669A1 (en) * 2004-07-16 2006-03-30 Juergen Sattler Method and apparatus for supporting active documents
US7890475B2 (en) * 2004-09-17 2011-02-15 Sap Ag Common transport logistics for software and content
US7436300B2 (en) * 2004-11-12 2008-10-14 Microsoft Corporation Wireless device support for electronic devices
US7802202B2 (en) * 2005-03-17 2010-09-21 Microsoft Corporation Computer interaction based upon a currently active input device
TWI267061B (en) * 2005-06-21 2006-11-21 Asustek Comp Inc Method for processing multi-layered images
EP1944962B1 (en) * 2005-09-30 2013-10-16 Panasonic Corporation Display device, external connection device, and screen control method
US20070112971A1 (en) * 2005-11-14 2007-05-17 Infodraw Ltd. Real time video streaming and data collaboration over wireless networks
US8330773B2 (en) * 2006-11-21 2012-12-11 Microsoft Corporation Mobile data and handwriting screen capture and forwarding
CN101573591A (zh) * 2007-01-10 2009-11-04 通腾科技股份有限公司 导航装置及操作带有紧急服务接入的导航装置的方法
US20130124370A1 (en) * 2007-02-07 2013-05-16 Kenneth B. Moore Workflow integration and presentation management
US8302166B2 (en) 2008-02-18 2012-10-30 Microsoft Corporation Associating network devices with users
US8095874B2 (en) * 2008-05-08 2012-01-10 Microsoft Corporation Inputting data on a portable computing device
KR20100028344A (ko) * 2008-09-04 2010-03-12 삼성전자주식회사 휴대단말의 영상 편집 방법 및 장치
US8060627B2 (en) * 2008-09-30 2011-11-15 Apple Inc. Device-to-device workflows
US9274624B2 (en) * 2009-03-31 2016-03-01 Ricoh Company, Ltd. Annotating digital files of a host computer using networked tablet computers
KR101062352B1 (ko) * 2009-06-17 2011-09-05 엘지전자 주식회사 단말기 및 그 제어 방법
GB2472406B (en) * 2009-08-04 2013-04-10 Promethean Ltd Specific user field entry
US8508478B2 (en) * 2009-09-25 2013-08-13 At&T Intellectual Property I, Lp Devices, systems and methods for remote control input
US9430122B2 (en) * 2010-10-01 2016-08-30 Z124 Secondary single screen mode activation through off-screen gesture area activation
US8504907B2 (en) * 2011-03-07 2013-08-06 Ricoh Co., Ltd. Generating page and document logs for electronic documents
US9711178B2 (en) * 2011-03-29 2017-07-18 Wevideo, Inc. Local timeline editing for online content editing
US9263045B2 (en) * 2011-05-17 2016-02-16 Microsoft Technology Licensing, Llc Multi-mode text input
US8823484B2 (en) 2011-06-23 2014-09-02 Sony Corporation Systems and methods for automated adjustment of device settings
CN102855105B (zh) * 2011-06-27 2015-11-25 联想(北京)有限公司 显示方法及显示设备
US8209183B1 (en) * 2011-07-07 2012-06-26 Google Inc. Systems and methods for correction of text from different input types, sources, and contexts
US20130120602A1 (en) * 2011-11-14 2013-05-16 Microsoft Corporation Taking Photos With Multiple Cameras
US9164579B2 (en) * 2011-11-15 2015-10-20 Lg Electronics Inc. Electronic device for granting authority based on context awareness information
KR101467519B1 (ko) * 2011-11-21 2014-12-02 주식회사 케이티 음성 정보를 이용한 컨텐츠 검색 서버 및 방법
KR101882442B1 (ko) * 2011-12-21 2018-07-26 엘지전자 주식회사 이동 단말기, 서버, 이동 단말기 제어 방법 및 서버의 제어 방법
KR101922023B1 (ko) 2012-02-20 2018-11-26 삼성전자주식회사 디스플레이장치 및 그 제어방법
US9185248B2 (en) * 2012-02-29 2015-11-10 Blackberry Limited Method and device for sharing a camera feature
KR102011361B1 (ko) 2012-04-07 2019-08-16 삼성전자주식회사 복수의 디바이스 간의 데이터 전송 시스템 및 방법
US9256858B2 (en) * 2012-06-27 2016-02-09 Nokia Technologies Oy Method and apparatus for associating context information with content
CN102841804B (zh) * 2012-06-27 2014-12-10 北京三星通信技术研究有限公司 同屏多前台任务处理方法及装置
US9025066B2 (en) * 2012-07-23 2015-05-05 Adobe Systems Incorporated Fill with camera ink
CN103577381B (zh) * 2012-07-30 2017-08-25 华为技术有限公司 一种设备间共用输入装置的配置方法及系统
US9024995B2 (en) * 2012-08-09 2015-05-05 Samsung Electronics Co., Ltd. Video calling using a remote camera device to stream video to a local endpoint host acting as a proxy
KR101960062B1 (ko) * 2012-08-24 2019-03-19 삼성전자주식회사 콘텐트 공유 방법 및 장치
KR102068604B1 (ko) * 2012-08-28 2020-01-22 삼성전자 주식회사 휴대단말기의 문자 인식장치 및 방법
US20140073255A1 (en) 2012-09-07 2014-03-13 Google Inc. System and method for interacting with content of an electronic device
US20140071039A1 (en) * 2012-09-07 2014-03-13 Kabushiki Kaisha Toshiba Electronic Apparatus and Display Control Method
US8824772B2 (en) * 2012-10-23 2014-09-02 Ensenta Inc. System and method for improved remote deposit image handling
CN103248870B (zh) * 2013-04-23 2017-02-08 小米科技有限责任公司 远程监控方法、被控设备、主控设备、服务器及系统
JP5768841B2 (ja) * 2013-06-21 2015-08-26 コニカミノルタ株式会社 画像形成システム、画像形成装置、遠隔操作装置およびプログラム
TW201502851A (zh) * 2013-07-05 2015-01-16 Think Cloud Digital Technology Co Ltd 電子簽章方法
KR102064952B1 (ko) 2013-07-12 2020-01-10 삼성전자주식회사 수신 데이터를 이용하여 어플리케이션을 운영하는 전자 장치
CN104462128B (zh) * 2013-09-22 2018-04-13 腾讯科技(深圳)有限公司 多媒体文件处理的方法、装置和终端设备
US9349165B2 (en) * 2013-10-23 2016-05-24 Adobe Systems Incorporated Automatically suggesting regions for blur kernel estimation
CN103561220A (zh) * 2013-10-28 2014-02-05 三星电子(中国)研发中心 一种电视终端及其多屏显示和控制的方法
KR20150051776A (ko) * 2013-11-05 2015-05-13 삼성전자주식회사 디스플레이 장치 및 디스플레이 장치의 제어 방법
US9176942B1 (en) 2014-03-24 2015-11-03 Realquidity Corp. System and method for synchronizing and editing electronic documents
US10193987B2 (en) 2014-05-30 2019-01-29 Apple Inc. Activity continuation between electronic devices
WO2015186401A1 (ja) * 2014-06-06 2015-12-10 株式会社ソニー・コンピュータエンタテインメント 画像処理装置、画像処理方法及び画像処理プログラム
JP6391374B2 (ja) * 2014-09-03 2018-09-19 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
JP6395522B2 (ja) * 2014-09-03 2018-09-26 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
JP6504768B2 (ja) * 2014-09-03 2019-04-24 キヤノン株式会社 電子機器およびその制御方法
JP6603513B2 (ja) * 2014-09-03 2019-11-06 キヤノン株式会社 通信装置及び情報処理装置及びそれらの制御方法、並びに記憶媒体
JP6429539B2 (ja) * 2014-09-03 2018-11-28 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
CN104301857A (zh) * 2014-09-24 2015-01-21 广州三星通信技术研究有限公司 用于通信终端之间的无线通信的方法和设备
US10025684B2 (en) * 2014-09-24 2018-07-17 Microsoft Technology Licensing, Llc Lending target device resources to host device computing environment
US9769227B2 (en) * 2014-09-24 2017-09-19 Microsoft Technology Licensing, Llc Presentation of computing environment on multiple devices
WO2016137167A1 (en) * 2015-02-23 2016-09-01 Lg Electronics Inc. Terminal
US9632664B2 (en) * 2015-03-08 2017-04-25 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
JP6376015B2 (ja) * 2015-03-24 2018-08-22 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US20160308917A1 (en) * 2015-04-20 2016-10-20 Intel Corporation Sensor input transmission and associated processes
CN106294902A (zh) * 2015-05-28 2017-01-04 阿里巴巴集团控股有限公司 预测移动应用程序页面性能的方法、装置及电子设备
US20160371885A1 (en) * 2015-06-22 2016-12-22 Anatolie Gavriliuc Sharing of markup to image data
US20170054767A1 (en) * 2015-08-17 2017-02-23 Google Inc. Transferring application state between devices
KR102389038B1 (ko) * 2015-09-02 2022-04-21 엘지전자 주식회사 전자 기기 및 전자 기기의 제어 방법
KR102371683B1 (ko) * 2015-09-23 2022-03-08 삼성전자주식회사 컨텐츠 공유 방법 및 이를 지원하는 전자 장치
US10334002B2 (en) * 2015-09-23 2019-06-25 Edoardo Rizzi Communication device and method
EP3338408B1 (en) * 2015-11-05 2022-08-17 Hewlett-Packard Development Company, L.P. Local compute resources and access terms
US10404778B2 (en) * 2015-12-09 2019-09-03 Walmart Apollo, Llc Session hand-off for mobile applications
US10289373B2 (en) * 2016-02-18 2019-05-14 Astro HQ LLC Event latency mitigation and screen selection
US9819784B1 (en) * 2016-05-02 2017-11-14 Microsoft Technology Licensing, Llc Silent invocation of emergency broadcasting mobile device
US9842095B2 (en) * 2016-05-10 2017-12-12 Adobe Systems Incorporated Cross-device document transactions
US10547773B2 (en) * 2016-10-28 2020-01-28 Disney Enterprises, Inc. User interface aspects for a motorized monopod jib for cameras
US20180225263A1 (en) * 2017-02-06 2018-08-09 Microsoft Technology Licensing, Llc Inline insertion viewport
JP6991734B2 (ja) * 2017-04-28 2022-01-12 キヤノン株式会社 情報処理装置および情報処理方法およびプログラム
US10281994B2 (en) * 2017-06-16 2019-05-07 Anousheh Sayah Smart wand device
US10735639B2 (en) * 2017-06-29 2020-08-04 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and program
US10977844B2 (en) * 2017-11-29 2021-04-13 Adobe Inc. Presenting multiple image segmentations
US11818218B2 (en) * 2018-02-12 2023-11-14 The Vanguard Group, Inc. System, method, and computer-readable storage medium that establish a communication path between a mobile device and a non-mobile device
US20190297119A1 (en) * 2018-03-23 2019-09-26 Cisco Technology, Inc. Establishing direct secure connection between collaboration devices in a room or space

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110058052A1 (en) 2009-09-04 2011-03-10 Apple Inc. Systems and methods for remote camera control
US20130293492A1 (en) * 2010-01-12 2013-11-07 Apple Inc. Apparatus and method for interacting with handheld carrier hosting media content
US20170205980A1 (en) * 2016-01-18 2017-07-20 Microsoft Technology Licensing, Llc Method and an apparatus for providing a multitasking view
US20170337234A1 (en) 2016-05-20 2017-11-23 Adobe Systems Incorporated Using an Action Registry to Edit Data Across Users and Devices

Also Published As

Publication number Publication date
KR20230007539A (ko) 2023-01-12
KR102606037B1 (ko) 2023-11-29
US20190370093A1 (en) 2019-12-05
KR20210003224A (ko) 2021-01-11
US20190370092A1 (en) 2019-12-05
EP3803641A1 (en) 2021-04-14
CN112136099A (zh) 2020-12-25
US11074116B2 (en) 2021-07-27
US20190370094A1 (en) 2019-12-05
US11061744B2 (en) 2021-07-13
WO2019232258A1 (en) 2019-12-05

Similar Documents

Publication Publication Date Title
KR102482361B1 (ko) 원격 디바이스로부터의 직접 입력
US10887269B1 (en) Restricted group content collection
US9372997B2 (en) Displaying private information on personal devices
US9535595B2 (en) Accessed location of user interface
US11632344B2 (en) Media item attachment system
JP2011070641A (ja) パブリック・ディスプレイを使用するシステム、方法、プログラム、および、ドキュメント検索システム
KR20140026679A (ko) 디바이스 및 그를 이용한 컨텐츠 공유 방법
US10216404B2 (en) Method of securing image data and electronic device adapted to the same
US11733959B2 (en) Physical companion devices for use with extended reality systems
US11128715B1 (en) Physical friend proximity in chat
KR102526959B1 (ko) 전자 장치 및 그의 동작 방법
KR20190075022A (ko) 디바이스 및 그를 이용한 컨텐츠 공유 방법
CN113190302A (zh) 信息显示方法、装置、电子设备及存储介质
US20230017029A1 (en) Media preview system
US20220391076A1 (en) Activity Stream Foundations

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal