KR20180132107A - 컴퓨팅 시스템에서 다중 접근 방법을 이용한 업데이트 관리 - Google Patents

컴퓨팅 시스템에서 다중 접근 방법을 이용한 업데이트 관리 Download PDF

Info

Publication number
KR20180132107A
KR20180132107A KR1020187031743A KR20187031743A KR20180132107A KR 20180132107 A KR20180132107 A KR 20180132107A KR 1020187031743 A KR1020187031743 A KR 1020187031743A KR 20187031743 A KR20187031743 A KR 20187031743A KR 20180132107 A KR20180132107 A KR 20180132107A
Authority
KR
South Korea
Prior art keywords
updates
update
views
priority
different
Prior art date
Application number
KR1020187031743A
Other languages
English (en)
Inventor
제프리 에스. 피어스
마이크 딕맨
란희 정
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20180132107A publication Critical patent/KR20180132107A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction 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 using icons
    • 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/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
    • 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/542Event management; Broadcasting; Multicasting; Notifications

Abstract

업데이트 관리는, 서로 다른 애플리케이션들에 대해 이용 가능한 콘텐츠에 대응하는 데이터 항목들을 수신하는 단계, 프로세서를 이용하여 데이터 항목들과 관련된 우선순위를 결정하는 단계, 및 우선순위를 이용하여 데이터 항목들의 업데이트들을 생성하는 단계를 포함할 수 있다. 업데이트들은 복수의 뷰들 중 서로 다른 뷰들 안에 디스플레이 될 수 있다. 복수의 뷰들 각각의 뷰는 동일한 우선순위의 업데이트들을 디스플레이 하도록 된다.

Description

컴퓨팅 시스템에서 다중 접근 방법을 이용한 업데이트 관리
본 개시는 컴퓨팅 시스템에서의 업데이트 관리에 관한 것으로, 보다 상세하게는 여러 접근 방법을 이용하여 업데이트를 관리하는 것에 관한 것이다.
많은 컴퓨팅 장치들이 애플리케이션에서 이용 가능한 콘텐츠에 대한 알림을 제공하는 알림 구조를 제공하고 있다. 그러한 알림 구조는 애플리케이션이 이용 가능한 콘텐츠에 대한 내용을 제시할 수 있게 하며, 그러한 이용 가능한 콘텐츠에 대한 알림을 디스플레이 한다. 이러한 알림은 통상적으로 하나의 통합된 뷰(view)나 인터페이스를 통해 제공된다.
일부의 경우, 컴퓨팅 장치는 사용자가 알림을 볼 수 있는 하나 이상의 추가적인 부가 위치들을 제공한다. 예를 들어, 컴퓨팅 장치는 "잠금 화면" 상이나, 일시적인 "헤드 업(heads-up)" 뷰를 통하거나, 배너 등으로서 알림을 디스플레이 할 수 있다. 이러한 부가 위치들은 보다 긴 "N+X" 개의 알림들의 리스트 중 최초의 "N" 개의 알림들과 같은 알림들의 부분 집합을 통합 뷰에서 간단히 제시한다.
통합 뷰를 이용하든 보조 뷰를 이용하든, 일부 시스템에서 알림들은 서로 다른 알림들을 구분하기 위한 어떤 추가 메커니즘의 적용 없이, 시간의 순서로 표시된다. 현재의 컴퓨팅 장치들에서 이용 가능한 보다 많은 수의 알림들을 감안하면, 관심 알림들을 찾아내기 위해 알림들을 구분하는 일은 시간 소모적일 수 있다. 흔히 이것은, 일부 알림들이 다른 것들보다 큰 중요도나 긴급도가 있는 것임에도 불구하고, 사용자가 모든 알림들을 가능한 빨리 없애야 될 귀찮은 것들이나 방해물로 취급하게 만든다.
하나 이상의 실시예들은 새로운 정보 및/또는 액션을 전달하는 방법에 관한 것이다. 한 양태의 방법은 업데이트를 관리하는 것에 관한 것이다. 이 방법은 서로 다른 애플리케이션들에 대해 이용 가능한 콘텐츠에 대응하는 데이터 항목들을 수신하는 단계, 프로세서를 이용하여 상기 데이터 항목들과 관련된 우선순위를 결정하는 단계, 및 상기 우선순위를 이용하여 상기 데이터 항목들의 업데이트들을 생성하는 단계를 포함할 수 있다. 상기 방법은 또한, 복수의 뷰들(views) 중 서로 다른 것들 안에 상기 업데이트들을 디스플레이 하되, 상기 복수의 뷰들 각각은 같은 우선순위의 업데이트들을 디스플레이 하는 단계를 포함할 수 있다.
하나 이상의 실시예들은 컴퓨팅 시스템이나 장치를 이용하는 정보 업데이트들의 다중 접근 방법들을 제공한다. 다중 접근 방법은 사용자에 의한 효과적이고 효율적인 접근 및 보다 많은 수의 업데이트들에 대한 탐색을 용이하게 하도록 컴퓨팅 시스템 안에서 구현된다.
첨부된 도면들은 하나 이상의 실시예들을 보여주지만, 도시된 실시예들에만 본 발명을 국한하기 위해 첨부된 도면들을 취한 것은 아니다. 이하의 상세한 설명에 대한 검토 및 상기 도면들을 참조함으로써, 다양한 양태들과 이점들이 자명해질 것이다.
도 1은 본 개시 안에서 기술되는 하나 이상의 실시예들에 따른 예시적 컴퓨팅 시스템을 도시한다.
도 2는 도 1과 관련하여 기술되는 것과 같은 컴퓨팅 시스템에 의해 실행될 수 있는 업데이트 구조의 예를 도시한다.
도 3은 업데이트 관리 방법의 예를 도시한다.
도 4는 다중 업데이트 처리 방법의 예를 도시한다.
도 5는 다중 업데이트 처리를 이용하여 생성된 업데이트들의 관리 방법의 예를 도시한다.
도 6은 다중 업데이트 처리 방법의 다른 예를 도시한다.
도 7은 다중 업데이트 처리를 이용하여 생성된 업데이트들의 관리 방법의 다른 예를 도시한다.
도 8은 업데이트들을 표시하도록 된 뷰(view)의 예를 도시한다.
도 9는 업데이트들을 표시하도록 된 뷰의 다른 예를 도시한다.
도 10은 업데이트들을 표시하도록 된 뷰의 다른 예를 도시한다.
도 11a 및 11b는 집합적으로, 애플리케이션 고유의 뷰를 예시한다.
도 12는 업데이트들을 표시하도록 된 뷰의 다른 예를 도시한다.
도 13은 업데이트들을 표시하도록 된 뷰의 다른 예를 도시한다.
도 14는 업데이트들을 표시하도록 된 뷰의 다른 예를 도시한다.
도 15는 여러 장치들 상에서의 뷰들의 예를 도시한다.
하나 이상의 실시예들은 새로운 정보 및/또는 액션을 전달하는 방법에 관한 것이다. 한 양태의 방법은 업데이트를 관리하는 것에 관한 것이다. 이 방법은 서로 다른 애플리케이션들에 대해 이용 가능한 콘텐츠에 대응하는 데이터 항목들을 수신하는 단계, 프로세서를 이용하여 상기 데이터 항목들과 관련된 우선순위를 결정하는 단계, 및 상기 우선순위를 이용하여 상기 데이터 항목들의 업데이트들을 생성하는 단계를 포함할 수 있다. 상기 방법은 또한, 복수의 뷰들(views) 중 서로 다른 것들 안에 상기 업데이트들을 디스플레이 하되, 상기 복수의 뷰들 각각은 같은 우선순위의 업데이트들을 디스플레이 하는 단계를 포함할 수 있다.
하나 이상의 실시예들은 새로운 정보 및/또는 액션을 전달하는 방법에 관한 것이다. 한 양태의 장치는 프로그램 코드를 저장하도록 된 메모리 및 메모리와 연결된 프로세서를 포함한다. 프로세서는 프로그램 코드를 실행함에 따라, 업데이트 관리에 관한 동작들을 개시하도록 구성된다. 상기 동작들은 서로 다른 애플리케이션들에 대해 이용 가능한 콘텐츠에 대응하는 데이터 항목들을 수신하는 동작, 상기 데이터 항목들과 관련된 우선순위를 결정하는 동작, 및 상기 우선순위를 이용하여 상기 데이터 항목들의 업데이트들을 생성하는 동작을 포함한다. 상기 동작들은 또한, 복수의 뷰들 중 서로 다른 것들 안에 상기 업데이트들을 디스플레이 하되, 상기 복수의 뷰들 각각은 같은 우선순위를 가진 업데이트들을 디스플레이 하는 것을 포함할 수 있다.
하나 이상의 실시예들은 새로운 정보 및/또는 액션을 전달하는 컴퓨터 프로그램 제품에 관한 것이다. 한 양태의 컴퓨터 프로그램 제품은 프로그램 코드가 저장된 컴퓨터 판독가능 저장 매체를 포함하며, 상기 프로그램 코드는 업데이트 관리에 관한 것이다. 상기 프로그램 코드는 동작들을 수행하도록 프로세서에 의해 실행될 수 있다. 상기 동작들은 서로 다른 애플리케이션들에 대해 이용 가능한 콘텐츠에 대응하는 데이터 항목들을 수신하는 동작, 상기 데이터 항목들과 관련된 우선순위를 결정하는 동작, 및 상기 우선순위를 이용하여 상기 데이터 항목들의 업데이트들을 생성하는 동작을 포함할 수 있다. 상기 동작들은 또한, 복수의 뷰들 중 서로 다른 것들 안에 상기 업데이트들을 디스플레이 하되, 상기 복수의 뷰들 각각은 같은 우선순위를 가진 업데이트들을 디스플레이 하는 것을 포함할 수 있다.
이 발명의 해결수단(summary) 부분은 본 발명에 대한 소정 개념을 소개하려는 것일 뿐, 어떤 주요하거나 필수적인 특성들을 확인하기 위해 제공되는 것이 아니다. 본 발명의 다른 여러 특성들 및 실시예들은 첨부된 도면들 및 이하의 상세한 설명으로부터 자명해질 것이다.
발명의 실시예
본 개시는 신규한 특징을 규정하는 청구항을 통해 결론지어질 수 있으나, 도면과 연계한 상세한 설명을 이해함으로써 이 명세서에 기술되는 다양한 특징들이 보다 잘 파악될 수 있을 것이다. 본 개시에서 기술되는 프로세스(들), 장치(들), 제조물(들) 및 그 변형들은 예시할 목적으로 제공된다. 개시된 특정한 구조 및 기능적 세부사항들은 한정하는 것이 아닌, 청구범위의 근거 및 사실상 적절히 상세화된 구조를 통해 기술되는 특징들을 다양하게 이용할 당업자를 가르치기 위한 전형적인 원리로서 해석되어야 한다. 또한, 본 개시에서 사용되는 용어들과 문구는 한정하는 것이라기 보다는 개시된 특징들의 이해 가능한 설명을 제공하기 위한 것이다.
본 개시는 컴퓨팅 시스템의 사용자들에게 새로운 정보 및/또는 액션의 이용 가능성을 전달하는 것에 관한 것이다. 보다 상세히 말하면, 본 개시는 컴퓨팅 시스템이나 장치를 이용하는 정보 업데이트들의 다중 접근 방법들을 제공하는 것에 관한 것이다. 본 명세서에서 기술되는 발명의 구성들에 따르면, 다중 접근 방법은 사용자에 의한 효과적이고 효율적인 접근 및 보다 많은 수의 업데이트들에 대한 탐색을 용이하게 하도록 컴퓨팅 시스템 안에서 구현된다. 예를 들어, 컴퓨팅 시스템의 운영체제 구성요소들 및 애플리케이션들이, 콘텐츠의 이용 가능성과 관련되어 데이터 항목이라 칭하는 정보를 제시할 수 있다. 데이터 항목들에 대한 우선순위가 결정된다. 우선순위를 이용하여 데이터 항목들의 업데이트들이 생성된다. 이 업데이트들은 서로 다른 위치들 또는 "뷰들" 안에서 제공될 수 있다.일 실시예에서, 각각의 뷰는 우선순위에 기반하여 업데이트들을 디스플레이 하도록 되어 있다. 예를 들어 각각의 뷰는 특정하거나 동일한 우선순위를 가진 서로 다른 애플리케이션들에 대해 생성된 업데이트들을 디스플레이 하도록 되어 있다. 일 예로서, 제1뷰는 높은 우선순위를 가진 서로 다른 애플리케이션들로부터의 업데이트들을 디스플레이 하도록 되어 있다. 제2의 다른 뷰는 낮은 우선순위를 가진 서로 다른 애플리케이션들로부터의 업데이트들을 디스플레이 하도록 되어 있다.
일 실시예에서, 합성 뷰(combined view)가 디스플레이 된다. 합성 뷰는 특정하거나 동일한 애플리케이션의 업데이트들을 포함한다. 합성 뷰 내에서의 상기 애플리케이션의 업데이트들은 동일한 우선순위를 가진 것에 국한되지 않는다. 예를 들어, 합성 뷰 안에서의 애플리케이션의 업데이트들은 서로 다른 우선순위를 가진다.
일 실시예에서, 특정 데이터 항목에 대해 한 개를 넘는 업데이트가 생성된다. 예를 들어, 한 데이터 항목을 수신함에 따라, 그 데이터 항목에 대해 높은 우선순위의 업데이트와 낮은 우선순위의 업데이트가 생성될 수 있다. 이하에서 보다 상세히 기술될 이러한 기능은, 높은 우선순위의 업데이트는 해제되고 낮은 우선순위의 업데이트는 앞으로 참고하거나 사용하기 위해 그대로 변경하지 않고 유지시킨다는 점에서 개선된 업데이트 관리를 돕는다.
발명의 구성에 대한 추가적 양태들이 도면을 참조하여 아래에서 보다 상세히 설명될 것이다. 예시의 간단 명료성을 위해 도면에 도시된 구성요소들이 반드시 해당 축척비율대로인 것은 아니다. 예를 들어, 구성요소들 중 일부의 치수는 명료성을 위해 다른 구성요소들에 비해 과장될 수 있다. 또한, 적절하다고 간주될 경우, 참조 부호들은 상응하거나 유사하거나 동일한 특성들을 가리키기 위해 도면들에 걸쳐 반복되었다.
도 1은 본 개시 안에서 기술되는 하나 이상의 실시예들에 따른 예시적 컴퓨팅 시스템(시스템)(100)을 도시한다. 도 1의 예에서, 시스템(100)은 메모리(102), 하나 이상의 프로세서들(104)(예를 들어, 이미지 프로세서들, 디지털 시그널 프로세서들, 데이터 프로세서들 등), 및 인터페이스 회로(106)를 포함한다. 한 양태에서, 메모리(102), 프로세서(들)(104) 및/또는 인터페이스 회로(106)는 각각의 구성요소들로서 구현된다. 다른 양태에서, 메모리(102), 프로세서(들)(104) 및/또는 인터페이스 회로(106)는 하나 이상의 통합 회로들 안에 병합된다. 시스템(100) 안의 다양한 구성요소들은 예컨대, 하나 이상의 통신 버스들이나 신호선들(예를 들어, 인터커넥트들(interconnects) 및/또는 와이어들)에 의해 연결될 수 있다. 한 양태에서, 메모리(102)는 메모리 인터페이스(미도시)를 거쳐 인터페이스 회로(106)와 연결된다.
도시된 예에서, 센서들(108), 서브시스템들(110, 114, 및/또는 116), 입출력(I/O) 장치들(122), 및/또는 디스플레이 장치(124)가 인터페이스 회로(106)에 연결됨으로써, 본 개시에 기술된 기능들 및/또는 동작들을 용이하게 한다. 센서들(108), 서브시스템들(110, 114 및 116), I/O 장치들(122), 및/또는 디스플레이 장치(124)는 인터페이스 회로(106)에 직접 연결되거나 하나 이상의 개재된(intervening) I/O 제어기들(미도시)을 통해 연결될 수 있다.
시스템(100)에 포함될 수 있는 센서들(108)의 예들로는, 비한정적인 것으로서, 모션 센서, 광 센서, 및/또는 근접 센서가 포함되어 시스템(100)의 방향, 조명, 및 근접 기능들을 용이하게 할 수 있다. 센서들(108)의 추가 예들로는 비한정적인 것으로서, 지리적 위치확인 센서 데이터를 제공하기 위한 위치 센서(가령, GPS 수신기 및/또는 프로세서), 방향 탐색 목적으로 자기 방향 북쪽을 판단하는데 사용될 수 있는 센서 데이터를 제공하기 위한 전자 자기 탐지기(가령, 집적 회로 칩), 3차원 장치 이동 속도 및 방향 변화를 판단하는데 사용될 수 있는 센서 데이터를 제공하기 위한 가속계 및/또는 고도를 결정하기 위해 사용될 수 있는 센서 데이터를 제공하기 위한 고도계(가령, 집적 회로)를 포함할 수 있다.
카메라 서브시스템(110)은 광학 센서(112)에 연결된다. 광학 센서(112)는 다양한 기술들 중 하나를 이용하여 구현될 수 있다. 광학 센서(112)의 예들로는, 비한정적인 것으로서, CCD(charged coupled device), CMOS(complementary metal-oxide semiconductor) 광학 센서 등을 포함할 수 있다. 카메라 서브시스템(110) 및 광학 센서(112)는 이미지 및/또는 비디오 클립(이후 "이미지 데이터")의 녹화와 같은 카메라 기능들을 가능하게 하기 위해 사용될 수 있다.
통신 기능들은 하나 이상의 무선 통신 서브시스템들(114)을 통해 도모될 수 있다. 무선 통신 서브시스템들(114)의 예로는, 비한정적인 것으로서, 무선 주파수 수신기 및 송신기, 광학(가령, 적외선) 수신기 및 송신기 등을 포함할 수 있다. 무선 통신 서브시스템(114)의 특정 설계 및 실행은 구현된 특정 타입의 시스템(100) 및/또는 시스템(100)이 동작하도록 예정된 통신 네트워크(들)에 따라 좌우될 수 있다.
예를 들어, 무선 통신 서브시스템(들)(114)은 하나 이상의 모바일 네트워크(가령, GSM, GPRS, EDGE), WiMax 네트워크를 포함할 수 있는 WiFi 네트워크, 단거리 무선 네트워크 또는 개인 영역 네트워크(가령, 블루투스 네트워크), 및/또는 이들의 임의의 조합을 통해 동작하도록 설계될 수 있다. 무선 통신 서브시스템(들)(114)은, 시스템(100)이 다른 무선 장치들의 기지국으로서 구성될 수 있도록 호스팅(hosting) 프로토콜들을 구현할 수 있다.
오디오 서브시스템(116)이 스피커(118) 및 마이크(120)와 연결되어, 음성 인식, 음성 복제, 디지털 레코딩, 및 전화 기능과 같은 음성이 가능한 기능들을 촉진시킬 수 있다. 오디오 서브시스템(116)은 오디오 타입 센서 데이터를 생성할 수 있다.
I/O 장치들(122)의 예들로는, 비한정적인 것으로서, 트랙 패드, 키보드, 포인팅 기기, 통신 포트(가령, USB 포트, 이더넷 포트 등), 네트워크 어댑터(가령, 모뎀 등), 버튼 또는 다른 물리적 콘트롤 등을 포함할 수 있다. 디스플레이 장치(124)는 스크린, 터치 감지 스크린 등일 수 있다. 디스플레이 스크린 및/또는 패드와 같은 터치 감지 장치는 다양한 터치 감지 기술들 중 하나를 이용하여 접촉, 이동, 접촉 끊어짐 등(이후 "제스처"라 칭함)을 검출하도록 구성된다는 것을 알아야 한다. 터치 감지 기술들의 예들로는, 비한정적인 것으로서 용량성, 저항성, 적외선, 및 표면 탄성파 기술들, 터치 감지 장치와의 하나 이상의 접촉점들을 판단하기 위한 다른 근접 센서 어레이들 또는 기타 소자들이 포함될 수 있다. I/O 장치들(124) 중 하나 이상 및/또는 디스플레이 장치(124)는 센서들(108), 및/또는 시스템(100)의 서브시스템들(110, 114, 및/또는 116)을 제어하도록 되어 있을 수 있다.
시스템(100)은 전원(130)을 더 포함한다. 전원(130)은 시스템(100)의 다양한 요소들로 전력을 제공할 수 있다. 일 실시예에서, 전원(130)은 하나 이상의 배터리들로 구현된다. 배터리들은 일회용(가령, 교환품)이든 충전용이든 각종 배터리 기술들 중 어느 하나를 이용하여 구현될 수 있다. 다른 실시예에서, 전원(130)은 외부 소스로부터 전력을 얻어 시스템(100)의 요소들로 전력을 제공하도록 구성된다. 충전용 배터리의 경우, 전원(130)은 외부 전원과 연결될 때 배터리나 배터리들을 충전할 수 있는 회로를 더 포함할 수 있다.
메모리(102)는 휘발성 메모리 및/또는 비휘발성 메모리를 포함할 수 있다. 휘발성 메모리의 예가 RAM(random access memory)이다. 비휘발성 메모리의 예들로는, 비한정적인 것으로서, 하나 이상의 자기 디스크 저장 장치, 하나 이상의 광학적 저장 장치, 플래시 메모리 등을 포함할 수 있다. 메모리(102)는 운영체제(150), 업데이트 관리자(152), 및 다른 프로그램 코드(154)와 같은 프로그램 코드를 저장할 수 있다. 운영체제는 모바일 장치 운영체제, 내장된 운영체제 등을 포함하는 각종 상이한 운영체제들 중 어느 하나일 수 있다. 운영체제(150)는 시스템 서비스들을 처리하고 하드웨어 의존 작업들을 수행하기 위한 명령어들을 포함할 수 있다.
도 1의 예에서, 메모리(102)는 업데이트 관리자(152)를 저장한다. 업데이트 관리자(152)는 실행 시, 본 개시에서 기술되는 바와 같은 업데이트 처리를 돕는다. 예를 들어 업데이트 관리자(152)는 실행 시, 애플리케이션들로부터 데이터 항목들을 수신하고, 그러한 데이터 항목들의 우선순위를 결정하고, 여기 기술되는 뷰들 중 서로 다른 뷰들 안에 업데이트들을 디스플레이 하도록 제어할 수 있다. 한 양태에서 업데이트 관리자(152)는 여기 기술되는 뷰들을 생성하는 접근 방법들을 포함하거나 구현한다. 업데이트 관리자(152)의 실행을 통해 수행되는 동작들에 대한 추가 양태들은 나머지 도면들을 참조하여 보다 상세하게 기술될 것이다.
메모리(102)는 다른 프로그램 코드(154)를 저장할 수도 있다. 다른 프로그램 코드(154)의 예들은 하나 이상의 추가 장치들, 하나 이상의 컴퓨터들 및/또는 하나 이상의 서버들과의 통신; 그래픽 사용자 인터페이스 처리; 센서 관련 처리 및 기능; 전화 관련 처리 및 기능; 전자 메시지 관련 처리 및 기능; 웹 브라우저 관련 처리 및 기능; 미디어 처리 관련 처리 및 기능; GPS 및 네비게이션 관련 처리 및 기능; 보안 기능; 웹 카메라 및/또는 웹 비디오 기능을 포함하는 카메라 관련 처리 및 기능 등을 가능하게 하는 명령어들을 포함할 수 있다. 다른 프로그램 코드(154)는 또한, 업데이트 관리자(152)에 의해 관리되는 것과 같은 이용 가능한 콘텐츠에 대응하는 데이터 항목들을 제공할 수 있는, 여기 개시된 서로 다른 애플리케이션들과 같은 하나 이상의 애플리케이션들을 포함할 수 있다.
메모리(102)는 또한, 센서 데이터, 애플리케이션들로부터의 데이터 항목들, 다양한 우선순위의 업데이트들 등과 같은 다양한 타입의 데이터(미도시)를 저장할 수 있다.
기술된 다양한 타입의 명령어들 및/또는 프로그램 코드는 예시할 목적으로 제공되는 것일 뿐 한정하려는 것이 아니다. 프로그램 코드는 개별 소프트웨어 프로그램들, 절차들, 또는 모듈들로 구현될 수 있다. 메모리(102)는 추가적인 명령어들을 포함하거나 더 적은 명령어들을 포함할 수 있다. 또한, 시스템(100)의 다양한 기능들이 하드웨어 및/또는 소프트웨어로 구현될 수 있다. 예를 들어, 시스템(100)의 하나 이상의 기능들은 하나 이상의 신호 처리 및/또는 주문형 반도체(application specific integrated circuit)들로서 구현될 수 있다.
메모리(102) 내에 저장되는 프로그램 코드, 및 시스템(100)에 의해 사용되거나, 생성되거나 작동되는 모든 데이터는 그 시스템이나 장치의 일부로서 이용될 때 기능성을 부여하는 기능적 데이터 구조들이다. 기능적 데이터 구조들의 추가 예들로는, 비한정적인 것으로서, 애플리케이션들로부터 사용 가능한 콘텐츠에 대응하는 데이터 항목들, 데이터 항목에 대해, 또는 그에 따라 생성되는 업데이트들, 우선순위 데이터 등을 포함할 수 있다.
일 실시예들에서, 시스템(100)을 참조하여 기술되는 다양한 센서들 및/또는 서브시스템들 중 하나 이상은 유선 또는 무선 커넥션을 통해 시스템(100)과 연결되거나 통신 가능하게 링크되는 개별 장치들일 수 있다. 예를 들어, 도 1과 관련하여 기술되는 다양한 센서들(108) 중 하나 이상 또는 전체는 I/O 장치들(122) 및/또는 무선 통신 서브시스템(들)(114)을 이용하여 시스템(100)에 연결하는 각각의 시스템들이나 서브시스템들로서 구현될 수 있다.
시스템(100)은 구현되는 시스템의 특정 유형에 따라 도 1에 도시된 것보다 더 적은 구성요소들을 포함하거나, 도시되지 않은 부가적인 구성요소들을 포함할 수 있다. 또한, 특정 운영체제 및/또는 애플리케이션(들) 및/또는 기타 프로그램 코드는 시스템 유형에 따라 가변 될 수도 있다. 나아가, 도시된 구성요소들 중 하나 이상이 다른 구성요소에 병합되거나, 그 일부를 구성할 수 있다. 예를 들어, 한 프로세스는 적어도 어떤 메모리를 포함할 수 있다.
시스템(100)은 다만 예시의 목적으로 주어진 것일 뿐 한정하려는 것은 아니다. 여기 개시된 동작들을 수행하도록 구성된 장치, 기기, 및/또는 시스템은 도 1에 도시된 것과 상이한 구조를 가질 수 있다. 그러한 구조는 시스템(100)과 관련해 기술된 구조의 간략화된 버전으로서, 프로세서, 명령어들을 저장하는 메모리, 및 디스플레이 장치를 포함할 수 있다.
시스템(100)의 구현예들로는, 비한정적인 것으로서, 스마트 폰이나 다른 모바일 기기 또는 전화, 착용형 컴퓨팅 장치(가령, 스마트 와치, 피트니스 트래커(tracker), 패치 등), 컴퓨터(가령, 데스크탑, 랩탑, 태블릿 컴퓨터, 기타 데이터 처리 시스템 등), 및 여기 개시된 기능들을 수행할 수 있는 임의의 적절한 전자 기기를 포함할 수 있다. 또한, 실시예들은 단독형 장치로서 사용되거나 분산형 클라이언트-서버 네트워크 시스템 내 여러 장치들로서 사용될 수 있다는 것을 예상할 수 있을 것이다. 일 실시예에서, 시스템은 제2장치(가령, 모바일 전화, 태블릿 컴퓨터, 컴퓨터 시스템 등)과 함께 동작하도록 쌍을 이루는 제1장치(가령, 스마트 와치 또는 피트니스 트래커)와 같은 둘 이상의 장치들로 구현된다.
도 2는 도 1과 관련하여 기술되는 것과 같은 컴퓨팅 시스템에 의해 실행될 수 있는 업데이트 구조(200)의 예를 도시한다. 도 2는 기존의 알림 구조(205)가 업데이트들의 서로 다른 뷰들을 디스플레이 하도록 업데이트 관리자(152)와 협업하여 사용되는 구현예이다. 한 양태에서, 뷰들은 업데이트들의 우선순위에 기반하여 업데이트들을 표시한다.
일 실시예에서, 기존의 알림 구조(205)는 알림 관리자(210)를 포함한다. 알림 관리자(210)는 하나 이상의 서로 다른 애플리케이션들(235)로부터 데이터 항목들을 수신할 수 있다. 데이터 항목들은 각각의 애플리케이션들(235)의 콘텐츠에 대한 이용 가능성에 대응한다. 예를 들어, 각각의 데이터 항목은 애플리케이션들(235) 중 하나에서 새롭게 이용 가능한 콘텐츠를 나타낸다. 이와 관련하여, 데이터 항목은 데이터 구조, 예컨대 다수의 요소들을 포함하는 객체를 일컫는다. 한 양태에서, 애플리케이션들(235)은 콘텐츠가 새롭게 이용될 수 있는 운영체제 구성요소들(가령, 운영체제 프로그램 코드)를 포함한다. "콘텐츠"라는 용어는 애플리케이션이 기사, 그림, 메시지, 포스트 등과 같은 것에 대해 작용하거나 그들을 전달하거나 표현할 수 있는 데이터를 일컫는다. 본 개시에서, 업데이트 생성 및/또는 디스플레이와 관련하여 "콘텐츠"나 "이용 가능한 콘텐츠"라는 용어는 새롭게 이용 가능한 콘텐츠를 일컫는다. 새롭게 이용 가능한 콘텐츠는 새 콘텐츠 및/또는 변경된 콘텐츠를 포함한다.
이용 가능한 콘텐츠에 대응하는 데이터 항목은 새롭게 이용 가능한 콘텐츠를 나타낸다. 예컨대, 어떤 데이터 항목은 콘텐츠가 사용 가능하게 된 시간, 소스 애플리케이션(가령, 데이터 항목을 생성했거나 전송한 애플리케이션 및/또는 운영체제 구성요소), 콘텐츠의 제목, 콘텐츠의 텍스트 내용, 콘텐츠의 썸네일 이미지, 옵션으로서 콘텐츠에 대한 하나 이상의 후보 액션들 등을 특정할 수 있다.
구조(200)는 업데이트 관리자(152)를 더 포함한다. 업데이트 관리자(152)는 알림 관리자(210) 및 애플리케이션들(235)과 통신한다. 일 실시예에서, 업데이트 관리자(152)는 알림 관리자(210)로부터 애플리케이션(235)에서 전송한 데이터 항목들을 수신할 수 있다. 다른 실시예에서, 업데이트 관리자(152)는 알림 관리자가 생성한 업데이트들을 수신할 수 있다. 논의의 목적으로, 알림 관리자(210)로부터 업데이트 관리자(152)에게 전달된 데이터를 "데이터 항목"이라고 칭하지만, 알림 관리자(210)가 기존의 인프라 구조의 일부이므로, 데이터 항목들이 알림들일 수 있다는 것을 알아야 한다.
업데이트 관리자(152)는 데이터 항목들에 대한 우선순위 정보를 결정하기 위해 알림 관리자(210)로부터 수신한 데이터 항목들을 처리할 수 있다. 일 실시예에서, 업데이트 관리자(152)는 또한 수신된 데이터 항목들의 타입을 판단할 수 있다. 일 예에서, 데이터 항목의 타입은 "운영체제"나 "애플리케이션" 같은 데이터 항목의 소스에 기반하여 판단될 수 있다. 예를 들어 운영체제 타입은 운영체제에 의해 생성된 데이터 항목을 의미한다.운영체제 타입의 데이터 항목은 운영체제에 대한 콘텐츠(가령, 새 프로그램 코드나 업데이트된 프로그램 코드)에 해당하거나 그러한 콘텐츠를 나타낼 수 있다. 애플리케이션 타입의 데이터 항목은 예컨대, 애플리케이션에 의해 생성된 데이터 항목을 의미한다.
업데이트 관리자(152)는 데이터 항목들에 대한 업데이트들을 생성하여 그 업데이트들을 메모리 안의 업데이트 데이터(240) 내에 저장할 수 있다. 업데이트 관리자(152)는 업데이트들을 그 각자의 업데이트들이 생성된 데이터 항목들의 우선순위와 연관하여 저장할 수 있다. 업데이트 관리자(152)는 또한 그 업데이트들을 임의의 정해진 타입들과 연관하여 저장할 수 있다.
일 실시예에서, 업데이트는 데이터 항목 또는 데이터 항목의 일부로부터 생성된 데이터이다. 업데이트는 디스플레이 장치 상에 표시되거나 디스플레이 되는 뷰 안에 디스플레이 된다. 일 예에서, 업데이트는 업데이트 및/또는 업데이트가 나타내는 콘텐츠와 상호작용하기 위해 이용 가능한 잠정적 액션들을 지시할 수 있다. 잠정적 액션들은 데이터 항목의 일부로서 제공되거나 데이터 항목의 타입에 기반하여 결정될 수 있다.
도 2의 예에서, 여러 다양한, 예컨대 복수의 뷰들(245)이 업데이트 관리자(152)에 의해 생성될 수 있다. 복수의 뷰들(245)은 우선순위에 기반하여 업데이트들을 디스플레이 하도록 되어 있다. 복수의 뷰들(245) 각각의 서로 다른 뷰는 동일하거나 특정한 우선순위의 업데이트들을 디스플레이 할 수 있다. 복수의 뷰들(245) 내의 업데이트들은 서로 다른 애플리케이션들(235)에 대한 것일 수 있다. 즉, 뷰(250)는 뷰(250) 안의 각각의 업데이트가 동일한 우선순위(가령, 높은 우선순위)를 가지는 둘 이상의 서로 다른 애플리케이션들(235)로부터의 업데이트들을 포함한다. 뷰(255)는 뷰(255) 안의 각각의 업데이트가 동일한 우선순위(가령, 낮은 우선순위)를 가지는 둘 이상의 애플리케이션들(235)(업데이트들이 뷰(250) 안에 디스플레이 되는 애플리케이션들(235)과 동일하거나 동일하지 않을 수 있음)로부터의 업데이트들을 포함한다. 뷰(250) 안의 업데이트들의 우선순위는 뷰(255) 안의 업데이트들의 우선순위와 상이하다. 한 양태에서, 뷰들(250 및 255)은 한 번에 하나씩, 예컨대 동시적이지 않게, 디스플레이 될 수 있다.
복수의 뷰들(245)은 두 개의 전형적 뷰들을 보여준다. 각각의 뷰가 특정 우선순위를 가진 업데이트들을 디스플레이 하도록 전용되는 둘을 초과하는 수의 다양한 뷰들이 포함될 수 있다는 것을 알아야 한다. 이와 관련하여, "높고" "낮은" 것들 사이의 우선순위들이 사용될 수 있다.
일 실시예에서, 업데이트 관리자(152)는 합성 뷰(260)를 생성할 수 있다. 합성 뷰(260)는 복수의 뷰들(245)과 구분된다. 합성 뷰(260)는 선택된 애플리케이션, 예컨대 선택된 애플리케이션만의 업데이트들을 디스플레이 할 수 있다. 뷰(260) 안에서 디스플레이 된 업데이트들은 서로 상이한 우선순위를 가질 수 있다. 한 양태에서, 합성 뷰(260)는 우선순위와 관계 없이 선택된 애플리케이션에 대한 모든 업데이트들을 디스플레이 할 수 있다.
일 실시예에서, 업데이트 관리자(152)는 뷰(250, 255, 및/또는 260) 안의 업데이트들과의 사용자 입력, 예컨대 사용자 인터랙션(상호동작)을 통해 특정된 데이터를 수신할 수 있다. 예컨대 그 데이터는 업데이트의 해제, 업데이트 및/또는 업데이트가 나타내는 콘텐츠를 처리하기 위한 업데이트 선택과 같은 업데이트의 콘텐츠 접근 등일 수 있다. 업데이트 관리자(152)는 추후 처리를 위해 상기 수신된 데이터를 애플리케이션들(235) 중 적절한 하나로 제공할 수 있다.
도 2는 사용자가 업데이트들의 우선순위에 기반하여 다수의 일차 위치들(가령, 뷰들)을 통해 업데이트들에 접근할 수 있는 구현예를 도시한다. 일부의 경우, 데이터 항목이 한 개를 초과하는 업데이트의 생성을 야기하거나 유도할 수 있으며, 이때 서로 다른 업데이트들은 서로 다른 뷰들 안에 나타난다. 예를 들어, 데이터 항목이 뷰(250) 안에 나타나는 업데이트 및 뷰(255) 안에 나타나는 다른 업데이트의 생성을 야기할 수 있다. 이와 관련하여, 데이터 항목 또는 그 일부는 그 전체나 일부가 여러 다양한 뷰들, 예컨대 뷰(250) 및 뷰(255) 안에 비동시적으로 유효하게 나타난다.
일 실시예에서, 도 2에 도시된 뷰들 각각은 "접근 방법"이라 일컫는 프로그램 코드의 실행을 통해 접근된다. 예를 들어, 접근 방법들 및 도 2에 도시된 뷰들 사이에 일대일 대응관계가 있을 수 있다.또한 접근 방법들은 특정 사용자 입력이나 제스처를 수신함에 따라 개시 또는 실행될 수 있다. 예를 들어, 터치 감지 디스플레이 장치 상에서 위로 스와이핑하는 제스처와 같은 제1사용자 입력을 검출함에 따라, 시스템이 뷰(250)를 디스플레이 하는 제1접근 방법을 실행할 수 있다. 터치 감지 디스플레이 장치 상에서 아래로 스와이핑 하는 제스처와 같은 제2의 다른 사용자 입력을 검출함에 따라, 시스템이 뷰(255)를 디스플레이 하는 제2의 다른 접근 방법을 실행할 수 있다. 또 다른 사용자 입력, 예컨대 제스처 및/또는 사용자 인터랙션을 검출함에 따라, 시스템은 합성 뷰(260)를 디스플레이 하는 접근 방법을 실행할 수 있다. 다른 양태에서, 높은 우선순위의 업데이트들을 디스플레이 하도록 된 접근 방법은 높은 우선순위의 업데이트를 즉시 디스플레이 하기 위해, 높은 우선순위 데이터 항목의 수신 및/또는 대응하는 높은 우선순위의 업데이트 생성에 따라 실행될 수 있다. 개시된 접근 방법들은 업데이트 관리자(152)로서 구현될 수 있다.
도 2의 예에서, 구조(200)는 기존의 알림 구조(205)를 활용한다. 다른 실시예에서, 구조(200)는 기존의 알림 구조(205)를 포함하지 않는다. 이 경우, 업데이트 관리자(152)는 기존의 알림 구조(205)를 대체하는 것으로, 알림들로 표시되는 업데이트들을 포함할 수 있는, 업데이트 처리를 위한 독자적 구조로서 구현된다. 예를 들어 업데이트 관리자(152)는 데이터 항목들을 수신하고 도시된 기능들을 수행하기 위해 애플리케이션들(235)과 직접 상호 동작할 수 있다. 그렇게 하면서, 업데이트 관리자(152)는 기존 알림 구조(205)의 기능을 대체 및/또는 확장한다.
도 3은 업데이트 관리 방법(300)의 예를 도시한다. 방법(300)은 도 1 및 2와 관련하여 여기 개시된 바와 같은 시스템에 의해 수행된다. 블록 305에서, 시스템은 애플리케이션으로부터 데이터 항목을 수신한다. 데이터 항목은 복수의 서로 다른 애플리케이션들 중 하나로부터 수신된다. 한 양태에서, 애플리케이션들은 시스템 내에서 국지적으로 실행된다. 논의된 바와 같이, 각각의 데이터 항목은 애플리케이션, 예컨대 소스 애플리케이션에 있어 이용 가능한 콘텐츠에 대응하거나 그러한 콘텐츠를 나타낸다.
일 실시예에서, 방법(300)의 블록들(310 및 330)은 선택적이다. 블록들(310 및 330)은 다중 업데이트 처리를 구현한다. 다중 업데이트 처리는 단일 데이터 항목에 대한, 또는 그러한 항목의 수신에 따른 서로 다른 우선순위의 두 (또는 그 이상의) 업데이트들을 생성하는 시스템의 기능을 일컫는다. 그에 따라, 블록 310에서, 시스템은 수신된 데이터 항목들 중 어느 하나가 다중 업데이트 처리에 적합한지 여부를 판단한다. 일 실시예에서, 시스템은 소스 애플리케이션, 데이터 항목에 의해 특정된 이용 가능한 콘텐츠의 타입, 및/또는 그 둘의 조합에 기반하여, 수신된 데이터 항목이 다중 업데이트 처리에 적합한지 여부를 판단할 수 있다. 그와 같이, 시스템은 주어진 데이터가 다중 업데이트 처리에 적합한지 여부를 자동으로 판단할 수 있다. 한 양태에서, 사용자는, 시스템에 의해 검출 시 시스템이 데이터 항목에 대한 다중 업데이트 처리를 수행하게 하는 데이터 항목의 특성들을 특정할 수 있다. 예를 들어, 사용자는 시스템 설정 사용자 인터페이스 및/또는 애플리케이션 고유의 사용자 인터페이스들을 통해 그러한 특징들을 특정할 수 있다. 사용자는 특정 애플리케이션으로부터의 데이터 항목들이 다중 업데이트 처리를 거쳐야 한다거나, 특정 콘텐츠에 대한 데이터 항목들이 다중 업데이트 처리를 거쳐야 한다거나, 특정 애플리케이션으로부터 나온 것으로 특정 콘텐츠에 대한 것인 데이터 항목들이 다중 업데이트 처리를 거쳐야 한다는 것을 나타낼 수 있다.
데이터 항목이 다중 업데이트 처리에 적합하다고 판단함에 따라, 방법(300)은 블록(330)으로 진행된다. 블록 330에서, 시스템은 적합한 데이터 항목에 대해 다중 업데이트 처리를 수행한다. 논의의 목적으로, 다중 업데이트 처리에 적합한 데이터 항목을 여기서는 “적합한 데이터 항목”이라 칭할 것이다.다중 업데이트 처리에 대한 추가 예들이 도 4-7과 관련하여 기술된다. 데이터 항목이 다중 업데이트 처리에 적합하지 않다고 판단함에 따라, 방법(300)은 블록(315)으로 진행된다.
블록 315에서, 시스템은 데이터 항목과 연관된 우선순위를 결정한다. 시스템은 다양한 여러 메커니즘들 중 하나 및/또는 메커니즘들의 조합을 이용하여 데이터 항목에 대한 우선순위를 결정할 수 있다. 일 실시예에서, 데이터 항목의 우선순위는 소스 애플리케이션에 의해 특정된다. 예를 들어, 소스 애플리케이션은 데이터 항목에 우선순위를 적용할 수 있다. 우선순위는 업데이트 관리자에게 제공되는 것과 같은 데이터 항목과 함께, 또는 데이터 항목 안에 포함된다. 이 경우, 업데이트 관리자는 데이터 항목에 대한 우선순위를 검출하고 애플리케이션에 의해 특정되는 우선순위를 사용한다. 한 양태에서, 애플리케이션은 모든 데이터 항목들에 동일한 우선순위를 할당할 수 있다. 다른 양태에서, 애플리케이션은 서로 다른 데이터 항목들에 서로 다른 우선순위들을 할당할 수 있다. 예를 들어, 애플리케이션 자체에 대한 업데이트에 대응하는 데이터 항목에는 낮은 우선순위가 할당될 수 있고, 애플리케이션으로부터 이용 가능한 새 메시지나 다른 타입의 콘텐츠 수신과 같은 다른 타입의 업데이트에 대응하는 데이터 항목에는 높은 우선순위가 할당될 수 있다.
일 실시예에서, 데이터 항목들의 우선순위는 사용자에 의해 특정될 수 있다. 한 양태에서, 시스템, 예컨대 업데이트 관리자는, 사용자가 서로 다른 데이터 항목들에 대해 우선순위들을 특정할 수 있게 하는 사용자 인터페이스를 제공할 수 있다. 우선순위들은 소스 애플리케이션, 콘텐츠 타입 등에 기반하여 특정될 수 있다. 다른 양태에서, 애플리케이션은 사용자가 애플리케이션이 생성한 데이터 항목들에 대해 우선순위들을 특정할 수 있게 하는 사용자 인터페이스를 제공할 수 있다.
일 실시예에서, 시스템, 예컨대 업데이트 관리자는 데이터 항목의 우선순위를 자동으로 결정할 수 있다. 시스템은 상술한 기법들 중 어느 하나를 이용하여 우선순위를 결정할 수 있다. 예를 들어, 업데이트 관리자는 데이터 항목의 소스 애플리케이션을 판단하고/하거나 이용 가능한 콘텐츠의 타입을 판단할 수 있다. 업데이트 관리자는 소스 애플리케이션, 이용 가능한 콘텐츠의 타입, 또는 그 둘의 조합에 기반하여 데이터 항목에 대한 우선순위를 결정할 수 있다.
일 예로서, 업데이트 관리자는 새로 수신된 전자 메일, 새로 수신된 즉석 메시지, 새로 수신된 소셜 미디어 메시지 등과 같은 특정 콘텐츠에 대응하는 데이터 항목들에 높은 우선순위를 할당할 수 있다. 업데이트 관리자는 기사, 영화 및/또는 음악과 같은 새 콘텐츠의 이용 가능성에 대응하는 데이터 항목들에 낮은 우선순위를 할당할 수 있다. 이러한 예들에서, 우선순위는 소스 애플리케이션 및/또는 콘텐츠의 타입에 기반하여 결정될 수 있다. 시스템은 각각의 데이터 항목이 나타내는 콘텐츠의 타입에 기반하여 동일한 소스 애플리케이션으로부터의 서로 다른 데이터 항목들에 대해 서로 다른 우선순위들을 결정할 수 잇다.
일 실시예에서, 시스템은 데이터 항목의 콘텐츠의 중요성에 기반하여 우선순위를 결정할 수 있다. 시스템은 데이터 항목의 우선순위를 결정하기 위해 데이터 항목의 콘텐츠에 대해 텍스트 분석, 예컨대 키워드 분석, 자연어 처리, 구문(semantic) 처리, 지정 개체 인식 등을 적용할 수 있다. 일 예로서, 시스템은 데이터 항목의 콘텐츠 안에서 “속보”와 같은 특정 키워드 및/또는 문구들을 식별할 수 있다. 키워드들 및/또는 문구들은 데이터 항목에 사용되거나 적용될 수 있는 우선순위와 연관될 수 있다. 다른 예에서, 시스템은 데이터 항목의 콘텐츠 안에서 특정 이름들, 예컨대 사용자의 가족 구성원들을 인식할 수 있다. 시스템은 검출된 가족 구성원이나 검출된 사람의 카테고리나 분류에 연관된 우선순위에 기반하여 데이터 항목의 우선순위를 정할 수 있다. 가족 구성원들은 예컨대 높은 우선순위를 가지고, 직장 동료들은 다른 우선순위를 가지고, 친구들은 또 다른 우선순위를 가지는 식으로 정할 수 있다.
일 실시예에서, 시스템은 사용자 인터랙션의 이력에 기반하여 데이터 항목의 우선순위를 결정할 수 있다. 한 양태에서, 사용자 인터랙션의 이력은 사용자의 응답 시간 이력을 의미한다. 업데이트 관리자는 응답 시간들의 이력을 관리할 수 있다. 응답 시간은 시작 상태부터 시스템의 사용자가 업데이트와 상호작용하며 걸린 시간의 양이다. 시작 상태는 애플리케이션이 업데이트 생성을 가져오는 데이터 항목을 발생한 시간, 업데이트 생성 시간, 또는 업데이트가 뷰 안에 실제로 디스플레이 되는 시간일 수 있다. 업데이트와의 상호 작용은 업데이트 해제, 업데이트 콘텐츠 접근(가령, 업데이트에 대한 작용) 등을 일컬을 수 있다. 업데이트 관리자는 애플리케이션 별 응답 시간을 저장할 수 있다. 업데이트 관리자는 각각의 애플리케이션에 대한 응답 시간 이력을 판단할 수 있다. 예를 들어, 응답 시간 이력은 애플리케이션 별 업데이트에 대한 응답 시간의 평균일 수 있다.
따라서 데이터 항목을 수신함으로써, 업데이트 관리자는 데이터 항목의 소스 애플리케이션에 대한 응답 시간 이력을 찾아 볼 수 있다. 업데이트 관리자는 응답 시간 이력에 기반하여 데이터 항목에 대한 우선순위를 결정할 수 있다. 업데이트 관리자는 예컨대, 데이터 항목의 우선순위를 결정하기 위해 응답 시간 이력과 우선순위를 상관시킨 테이블 또는 다른 데이터 구조에서 데이터 항목의 소스 애플리케이션의 응답 시간 이력을 상호 참조한다.
다른 양태에서, 사용자 인터랙션 이력은 사용자에 의해 애플리케이션이 사용된 빈도를 의미한다. 시스템은 시간에 따른 사용자의 애플리케이션 사용 빈도를 판단할 수 있다. 이 경우, 업데이트 관리자는 데이터 항목을 수신함에 따라, 소스 애플리케이션의 사용 빈도를 판단한다. 업데이트 관리자는 예컨대, 데이터 항목의 우선순위를 결정하기 위해 애플리케이션의 사용 빈도와 우선순위를 상관시킨 테이블 또는 다른 데이터 구조에서 소스 애플리케이션의 사용 빈도를 상호 참조한다.
다른 양태에서, 시스템은 데이터 항목의 우선순위를 결정하기 위해 응답 시간 이력 및 사용 빈도 둘 모두를 사용할 수 있다. 예를 들어 시스템은 응답 시간 이력 및 사용 빈도 각각에 0과 1 사이의 가중 인자를 적용하고, 가중된 수치들의 합을 산출하며, 그 결과에 따른 합을 데이터 항목의 우선순위를 결정하기 위한 테이블 또는 다른 데이터 구조 안에서 상호 참조할 수 있다.
일 실시예에서, 시스템은 여기 개시된 우선순위 결정 기법들 중 어느 하나를 따로 사용할 수 있다. 하나 이상의 다른 실시예들에서, 시스템은 그러한 우선순위 결정 기법들 중 둘 이상의 임의 조합을 사용할 수 있다. 예를 들어, 시스템은 원하거나 선택된 각각의 우선순위 결정 기법을 이용하여 초기 우선순위(가령, 초기 점수)를 산출하고, 선택사항으로서 가중 인자를 각각의 초기 우선순위에 적용하며, 데이터 항목의 최종 우선순위를 결정하기 위해 그 결과들을 합할 수 있다.
블록 320에서 시스템은 우선순위를 이용하여 데이터 항목의 업데이트를 생성한다. 예를 들어 시스템은 시스템이 뷰 안에 디스플레이 할 수 있는 특정 구조나 구문을 가지는 업데이트를 생성한다. 업데이트는 수신된 데이터 항목의 모든 데이터, 수신된 데이터 항목의 데이터의 일부, 및/또는 업데이트 관리자에 의해 생성될 수 있는 추가 데이터를 포함할 수 있다. 업데이트는 업데이트가 생성되는 데이터 항목의 우선순위와 연관되거나 그 우선순위를 포함한다.
블록 305-320 (및 예를 들어 블록 330)은 애플리케이션들로부터 수신된 복수의 데이터 항목들을 처리하기 위해 반복하여 수행될 수 있다는 것을 알아야 한다. 데이터 항목들은 상술한 바와 같이 서로 다른 우선순위들과 연관될 수 있다.
따라서 블록 325에서 시스템은 우선순위들에 기반하여 서로 다른 뷰들 안에 업데이트들을 디스플레이 할 수 있다. 시스템은 복수의 서로 다른 뷰들 중 어느 하나를 디스플레이 할 수 있다. 한 양태에서, 복수의 뷰들 각각은 고유하고 동일한 우선순위를 가진 업데이트들을 포함하도록 된다. 예를 들어, 제1뷰는 높은 우선순위의 업데이트들을 디스플레이 하는데 전용되고, 제2뷰는 낮은 우선순위의 업데이트들을 디스플레이 하는데 전용된다. 한 양태에서, 뷰들은 하나씩, 예컨대 특정 조건에 따라 시계열 방식으로 디스플레이 된다. 그에 따라 디스플레이들은 동시에 디스플레이 되지 않는다.
블록 325와 관련하여, 일 실시예에서 시스템은 제1사용자 입력, 예를 들어, 어떤 제스처의 수신에 따라 높은 우선순위의 업데이트들을 디스플레이 하도록 된 제1뷰를 디스플레이 할 수 있다. 시스템은 제2의 다른 사용자 입력, 예를 들어, 어떤 다른 제스처의 수신에 따라 낮은 우선순위의 업데이트들을 디스플레이 하도록 된 제2뷰를 디스플레이 할 수 있다.
블록 325와 관련하여, 다른 실시예에서, 시스템은 선택된 우선순위, 예를 들어 높은 우선순위를 가진 업데이트들을, 높은 우선순위의 업데이트들에 대한 디스플레이를 요청하는 사용자 입력을 먼저 수신하지 않고도 업데이트의 생성에 따라, 디스플레이 할 수 있다. 일 예로서, 시스템은 높은 우선순위의 업데이트들을 디스플레이 하라는 사용자 요청을 대기하는 것이 아니라, 업데이트의 생성에 따라 수신된 텍스트 메시지나 소셜 미디어 포스트에 대응하는 높은 우선순위의 업데이트를 디스플레이 할 수 있다.
뷰들 안에서 업데이트들이 다양한 기준들의 조합에 따라 분류, 가령, 정렬되어 디스플레이 될 수 있다. 각각의 뷰에서 업데이트들이 디스플레이 되는 순서는 다른 뷰들과 무관하게 결정되거나 설정될 수 있다. 그로써, 하나 이상의 뷰들이 업데이트들을 정렬하기 위해 동일한 기준을 사용하거나, 하나 이상의 뷰들이 업데이트들을 정렬하기 위해 서로 다른 기준들을 사용하거나, 각각의 뷰가 업데이트들을 정렬하기 위해 다른 기준을 사용할 수 있다.
일 실시예에서, 시스템은 업데이트들을 임시로 분류 또는 정렬(이후 “정렬”이라 칭함)할 수 있다. 시스템은 가장 최신의 것에서 가장 오래된 것의 순서로, 또는 가장 오래된 것부터 가장 최신의 것의 순서로 업데이트들을 정렬할 수 있다. 일 예에서, 시스템은 여러 업데이트들의 서머리(summary), 예컨대 이하에서 예시되는 것과 같은 서머리 타일에, 서머리에 의해 나타낸 가장 오래된 시간이나 가장 최신의 업데이트에 기반하여, 시간을 할당할 수 있다. 사용된 시간은 시스템 안에서 설정될 수 있는 환경일 수 있다.
일 실시예에서, 시스템은 사용자들이 뷰 안에서 업데이트들을 정렬하기 위해 시스템에 의해 사용될 수 있는 애플리케이션들의 바람직한 순서를 특정할 수 있게 한다. 하나 이상의 다른 실시예들에서, 시스템은 우선순위 결정과 관련하여 앞서 기술된 바와 같이, 응답 시간, 애플리케이션들의 사용 빈도와 같은 인터랙션 이력에 기반하여 뷰 안에서 업데이트들을 정렬할 수 있다.
본 개시에서 기술된 실시예들은 사용자들이 많은 수의 낮은 우선순위 업데이트들 가운데에서 높은 우선순위의 업데이트들을 찾을 필요 없이 높은 우선순위 업데이트들을 쉽게 찾아 검사할 수 있게 하는 방식으로, 시스템이 업데이트들을 디스플레이 하는 것을 가능하게 한다. 시스템은 사용자가 지속적으로 낮은 우선순위 업데이트들을 없애거나 물리칠 필요가 없기 때문에 새로 높은 우선순위의 업데이트가 도달했을 때를 명확하게 보여줄 수 있다. 예시적 실시예들은 사용자들이 잠정적으로 많은 수의 낮은 우선순위 업데이트들의 검색할 여유 시간이 있을 때 그렇게 하는 것을 돕거나, 사용자들이 새 콘텐츠가 이용 가능하다는 것을 보다 광범위하게 판단하는 데 관심이 있을 때를 위한 사용자 인터페이스의 일부인 뷰들을 제공한다.
도 4는 다중 업데이트 처리 방법(400)의 예를 도시한다. 방법(400)은 도 1 및 2와 관련하여 여기 개시된 바와 같은 시스템에 의해 수행된다. 일 실시예에서, 방법(400)은 도 3의 블록(330)을 구현하도록 수행될 수 있다. 다중 업데이트 처리는 시스템이 하나의 데이터 항목에 대한 둘 이상의 업데이트를 생성할 수 있게 하며, 상기 생성되는 업데이트들 각각(“해당 업데이트들”이라 칭함)은 서로 다른 우선순위를 가진다. 예를 들어, 시스템은 원할 경우 사용자에 의해 종료될 수 있는 데이터 항목에 대한 높은 우선순위의 업데이트를 생성하면서 동일한 데이터 항목에 대한 낮은 우선순위의 업데이트는 그대로 유지시킬 수 있다. 낮은 우선순위의 업데이트는 사실상, 사용자가 낮은 우선순위의 업데이트를 취급할 때까지 유지될 수 있다.
일 예로서, 시스템은 새 기사에 대한 이용 가능성을 나타내는 데이터 항목의 높은 우선순위 업데이트 및 낮은 우선순위 업데이트 둘 모두를 생성할 수 있다. 이 예에서, 사용자는 사용자가 그 기사를 읽을 시간이 없을 경우 높은 우선순위 업데이트를 해제할 수 있다. 낮은 우선순위 업데이트는 그대로 영향을 받지 않은 채 유지되기 때문에, 사용자에게는 이용 가능한 콘텐츠가 리마인드 된다. 다음에 사용자가 낮은 우선순위의 뷰를 시작하면, 낮은 우선순위 업데이트가 뷰 안에 보여질 것이다.
그에 따라, 블록 405에서, 수신된 데이터 항목이 다중 업데이트 처리에 적합하다고 판단한 시스템은, 그 적합한 데이터 항목에 대해 둘 이상의 우선순위를 결정한다. 예로서, 시스템은 데이터 항목을 수신하고, 그 데이터 항목이 선택된 소스 애플리케이션으로부터 나온 것이라고 판단함에 따라 높은 우선순위와 낮은 우선순위 모두를 그 데이터 항목에 할당할 수 있다.
다른 예에서, 시스템은 데이터 항목의 소스 애플리케이션 및/또는 데이터 항목이 가리키는 업데이트된 콘텐츠 타입에 기반하여 데이터 항목에 제1우선순위를 할당할 수 있다. 시스템은 응답 시간 이력 및/또는 소스 애플리케이션의 사용 빈도에 관계없이, 상술한 바와 같은 이력 데이터에 기반하여 데이터 항목에 제2의 다른 우선순위를 할당할 수 있다. 따라서, 소스 애플리케이션 및/또는 콘텐츠 타입에 기반하여 시스템은 데이터 항목에 대한 낮은(높은) 우선순위를 결정하고, 이력 데이터에 기반하여 데이터 항목에 대한 높은(낮은) 우선순위를 결정할 수 있다.
블록 410에서 시스템은 블록 405에서 결정된 각각의 우선순위에 적합한 데이터 항목의 한 업데이트를 생성한다. 그에 따라, 적합한 데이터 항목이 높은 우선순위 및 낮은 우선순위 둘 모두와 연관되는 경우, 시스템은 높은 우선순위 업데이트 및 낮은 우선순위 업데이트를 생성할 수 있다. 주목할 것은, 적합한 데이터 항목의 두 업데이트들 각각이 우선순위에 기반하는 서로 다른 뷰 안에 디스플레이 된다는 것이다.
도 4와 관련하여 기술된 예는 두 가지 우선순위를 이용하지만, 다중 업데이트 처리는 데이터 항목에 대해 둘을 넘는 우선순위들을 판단할 수 있고, 그에 상응하게 두 개를 넘는 업데이트들을 생성할 수 있다.
도 5는 도 3 및 4와 관련하여 여기 기술된 다중 업데이트 처리를 이용하여 생성된 업데이트들을 관리하는 방법(500)의 예를 도시한다. 방법(500)은 도 1 및 2와 관련하여 여기 개시된 바와 같은 시스템에 의해 수행된다.
블록 505에서, 시스템은 적합한 데이터 항목으로부터 생성된 업데이트와의 사용자 인터랙션을 검출한다. 업데이트는 적합한 데이터 항목에 대해 생성된 서로 다른 우선순위들을 가지는 복수의 대응하는(가령, 서로 다른) 업데이트들 중 하나이다.
블록 510에서, 시스템은 인터랙션이 업데이트의 해제인지 업데이트의 접근인지 여부를 판단한다. 접근은 업데이트에 의해 참조되는 콘텐츠에 바로 접근하는 사용자 인터랙션을 의미한다. 예를 들어, 사용자에 의한 접근은 소스 애플리케이션이나 그 기능을 시동시킴으로써, 사용자가 업데이트에 의해 참조된 콘텐츠와 상호작용할 수 있게 한다. 사용자 인터랙션이 해제이면, 방법(500)은 블록 520으로 진행된다. 사용자 인터랙션이 접근이면, 방법(500)은 블록 515으로 진행된다.
블록 515으로 진행 시, 시스템은 적합한 데이터 항목에 대해 생성된 업데이트들 각각을 해제한다. 예를 들어, 적합한 데이터 항목에 대해 높은 우선순위 업데이트 및 낮은 우선순위 업데이트 둘 모두가 생성되었다면, 적합한 데이터 항목에 대한 높은 우선순위 업데이트 및 낮은 우선순위 업데이트 둘 모두가 해제되거나 제거된다(블록 515). 두 업데이트들 모두는 사용자가 업데이트에 따라 행동한 후에 제거된다.
블록 520에서 검출된 사용자 인터랙션이 업데이트 해제라고 판단함에 따라, 시스템은 해제된 업데이트가 높은 우선순위 업데이트였는지 여부를 판단한다. 그렇다면, 방법(500)은 블록 525로 이어진다. 그렇지 않다면, 방법(500)은 블록 530으로 진행한다.
블록 525에서, 시스템은 높은 우선순위의 업데이트를 해제하고 대응하는 낮은 우선순위의 업데이트, 예컨대 해제된 높은 우선순위의 업데이트와 적합한 동일 데이터 항목에 대해 생성된 낮은 우선순위의 업데이트는 유지시킨다. 시스템이 둘을 넘는 레벨의 우선순위를 사용하는 경우, 시스템은 대응하는 보다 낮은 우선순위의 업데이트들, 예컨대 해제된 보다 높은 우선순위의 업데이트보다 낮은 우선순위를 가진 적합한 동일 데이터 항목의 업데이트들을 유지시킬 수 있다.
블록 530에서, 시스템은 블록 505에서 보다 낮은 우선순위의 업데이트를 해제하고, 적합한 데이터 항목의 어떤 보다 높은 우선순위 업데이트들이 아직 해제되지 않았다면, 그러한 높은 우선순위 업데이트들을 해제한다. 예를 들어, 적합한 데이터 항목에 대한 낮은 우선순위의 업데이트 해제에 응하여, 시스템은 아직 해제되지 않은 적합한 데이터 항목의 대응되는 높은 우선순위의 업데이트를 해제한다.
도 6은 다중 업데이트 처리 방법(600)의 다른 예를 도시한다. 방법(600)은 도 1 및 2와 관련하여 여기 개시된 바와 같은 시스템에 의해 수행된다. 일 실시예에서, 방법(600)은 도 3의 블록(330)을 구현하도록 수행될 수 있다. 도 6의 예에서, 동일한 데이터 항목에 대한 여러 업데이트들은 도 4를 참조하여 기술된 것과 같이 즉시 생성되지 않는다.
블록 605에서, 수신된 데이터 항목이 다중 업데이트 처리에 적합하다고 판단한 시스템은, 그 적합한 데이터 항목에 대해 둘 이상의 우선순위를 결정한다. 블록 610에서 시스템은 적합한 데이터 항목과 연관된 가장 높은 우선순위에 대한 상기 적합한 데이터 항목의 한 업데이트를 생성한다. 시스템은 업데이트를 생성하기 위해 사용되지 않았던, 적합한 데이터 항목에 대해 결정된 어떤 추가적 우선순위들을 저장할 수 있다.
도 7는 도 3 및 6과 관련하여 여기 기술된 다중 업데이트 처리를 이용하여 생성된 업데이트들을 관리하는 방법(700)의 다른 예를 도시한다. 방법(700)은 도 1 및 2와 관련하여 여기 개시된 바와 같은 시스템에 의해 수행된다. 방법(700)은 다중 업데이트 처리를 위한 추가 업데이트들이 높은 우선순위 업데이트가 먼저 해제되기 전까지는 생성되지 않는다는 점을 제외하면 방법(500)과 유사하다.
블록 705에서, 시스템은 적합한 데이터 항목으로부터 생성된 업데이트와의 사용자 인터랙션을 검출한다. 블록 710에서, 시스템은 인터랙션이 업데이트의 해제인지 업데이트의 접근인지 여부를 판단한다. 사용자 인터랙션이 해제이면, 방법(700)은 블록 720으로 이어진다. 사용자 인터랙션이 접근이면, 방법(700)은 블록 715으로 진행된다. 블록 715에서, 시스템은 블록 705으로부터의 업데이트를 해제한다. 블록 715 후, 방법(700)은 종료된다. 이 경우, 사용자는 우선순위가 낮든 높든 업데이트에 접근하였고, 추가적인 처리를 수행할 필요는 없다.
블록 720에서 블록 705로부터의 업데이트가 해제된다. 블록 725에서, 시스템은 블록 720에서 해제된 업데이트가 높은 우선순위의 업데이트였는지 여부를 판단한다. 그렇다면, 방법(700)은 블록 730으로 이어진다. 그렇지 않으면 방법(700)은 종료된다.
블록 730에서, 시스템은 적합한 데이터 항목에 대한 낮은 우선순위의 업데이트를 생성한다. 예를 들어 도 6을 참조하면, 시스템은 적합한 데이터 항목에 대해 아직 미사용된 낮은 우선순위를 이용하여 업데이트를 생성한다. 한 양태에서, 적합한 데이터 항목에 대해 보다 낮은 우선순위의 업데이트를 생성하는 것은 대응하는 보다 높은 우선순위의 업데이트에 대한 해제에 응하여 수행된다.
도 8은 업데이트들을 표시하도록 된 뷰(800)의 예를 도시한다. 뷰(800)는 디스플레이 장치(124) 상에 디스플레이 된다. 그려진 바와 같이, 뷰(800)는 복수의 업데이트들(802, 804, 806, 808 및 810)을 포함한다. 도 8의 예에서, 뷰(800)에 도시된 각각의 업데이트(802-810)는 동일한 우선순위를 가진다. 또한, 도시된 바와 같이, 업데이트들은 서로 다른 애플리케이션들로부터 나온 것일 수 있다. 뷰(800)는 스크롤 가능할 수 있다, 예를 들어 뷰(800) 안에 포함될 수 있는 추가된 업데이트들을 뷰 위해 사용자가 위나 아래로 스와이핑할 수 있다.
도시된 예에서, 업데이트들(802-810) 각각은 낮은 우선순위와 연관된다. 이와 같이 뷰(800)는 낮은 우선순위의 업데이트들을 디스플레이 하도록 되어 있다. 낮은 우선순위의 업데이트들은 사용자를 방해하지 않고 애플리케이션들이 새 콘텐츠의 이용 가능성을 전달할 수 있게 한다. 한 양태에서, 뷰(800)는 사용자 입력, 예를 들어 아래로 스와이핑 하기 등과 같은 제스처 검출에 따라 생성된다. 뷰(800)를 유발시키는데 사용되는 사용자 입력은, 적어도 우선순위에 기반하여 업데이트들을 디스플레이 하도록 된 복수의 뷰들에 대해, 뷰(800)에 특정될 수 있다.
업데이트(802)는 빠른 액션 또는 단축 경로를 포함하는 업데이트의 예를 도시한다. 도시된 바와 같이, 사용자에 의해 접근될 수 있는 “답장” 및 “삭제” 콘트롤이 제공된다. 사용자는 업데이트에 의해 직접적으로 지시되는 콘텐츠에 직접 접근 및/또는 조치하기 위해 “답장”이나 “삭제” 콘트롤을 사용할 수 있다.
도 9는 업데이트들을 표시하도록 된 뷰(900)의 다른 예를 도시한다. 뷰(900)는 디스플레이 장치(124) 상에 디스플레이 된다. 도시된 바와 같이, 뷰(900)는 높은 우선순위의 업데이트(905)를 포함한다. 도 9의 예에서, 높은 우선순위의 업데이트(905)는 사용자를 방해하는 것이 득이 되기 충분할 정도로 중요하다고 간주된다. 높은 우선순위의 업데이트들의 집합은 사용자에 대한 방해를 제한하기 위해 여기 기술된 실시예들에 따라 관리될 수 있다.
도 8 및 9는 서로 다른 타입의 업데이트들이 서로 다른 사용자 입력들을 이용하여 유발되는 서로 다른 접근 방법들을 이용하여 서로 다른 뷰들(가령, 서로 다른 위치들)을 통해 제공되는 예들을 도시한다. 추가적인 구현예는 시스템이 디스플레이 장치(124)(가령, 터치 스크린)의 위에서 아래로 당기는(pulling down) 사용자 제스처에 따라 디스플레이 하는 한 뷰 안의 상위 우선순위 업데이트들, 및 시스템이 디스플레이 장치(124)의 아래로부터 위로 당기는 사용자 제스처에 따라 디스플레이 하는 다른 뷰 안의 낮은 우선순위 업데이트들을 포함할 수 있다. 다른 예에서, 시스템은 높은 우선순위 업데이트들을 디스플레이 장치(124)의 위에서 아래로 당기는 사용자 제스처에 따라 디스플레이 되는 뷰 안에 배치하고, 낮은 우선순위 업데이트들을 사용자의 홈 스크린의 최좌측(최우측)에, 예컨대 시스템이 디스플레이 장치(124)를 사용하여 여러 개의 서로 다른 홈 스크린들을 한 번에 하나씩 디스플레이 할 수 있는 경우 최좌측(최우측) 홈 스크린에 디스플레이 되는 뷰 안에 배치시킬 수 있다. 다르게 표현하면, 일부 실시예들에서 서로 다른 우선순위의 업데이트들을 위한 각각의 뷰들은 동시에 디스플레이 되지 않는다. 또 다른 예에서, 시스템은 디스플레이 장치(124)의 최하부(가령, 사용자의 홈 스크린의 최하부)에서 높은 우선순위의 업데이트들을 포함하는 뷰를 디스플레이하고, 사용자의 홈 스크린들의 최좌측(최우측)에 낮은 우선순위의 업데이트들을 디스플레이 할 수 있다.
도 10은 업데이트들을 표시하도록 된 뷰(1000)의 다른 예를 도시한다. 뷰(1000)는 디스플레이 장치(124) 상에 디스플레이 된다. 뷰(1000)는 다른 타입의 업데이트들이 디스플레이 될 수 있는 예를 도시한다. 도 10의 예에서, 뷰(1000)는 콘트롤들과 업데이트들의 믹스를 포함한다. 예를 들어, 뷰(1000)는 단거리 통신 및/또는 개인 영역 네트워크에 대한 무선 트랜시버들을 활성화/비활성화하고, 비행 모드에 진입하고, 진동 모드를 활성화/비활성화하는 등과 같은 다양한 기능들에 대응하는 콘트롤 아이콘들(1005, 1010, 1015 및 1020)을 디스플레이 한다. 뷰(1000)는 또한 앱 A(App A), App B, App C, 및 App D에 대응하는 자주 사용된 애플리케이션들의 아이콘들을 더 포함한다.
일 실시예에서 뷰(1000)는 컴퓨팅 장치의 운영체제나 디스플레이 될 시스템의 애플리케이션들로부터의 업데이트들에 대한 전용 기본 위치 또는 뷰를 제공한다. 도시된 예로서, 업데이트(1002)는 운영체제에 대한 업데이트가 이용 가능하다는 것을 알린다. 업데이트(1004)는 다른 업데이트들의 서머리를 제공하는 업데이트의 예이다. 업데이트(1004)는 6 개의 애플리케이션들이 업데이트되었다고 정리한다.
일 실시예에서, 홈 스크린의 하부에서 높은 우선순위의 업데이트들, 홈 스크린의 최좌측에서 낮은 우선순위 업데이트들, 및 홈 스크린의 상부에서 시스템 업데이트들에 대한 접근을 제공하는 뷰가 제공될 수 있다. 다른 실시예에서, 시스템은 시스템 업데이트, 지속적 업데이트, 그리고 정보가 아닌 액션들(예를 들어 미디어 콘트롤들)에 대한 접근을 제공하는 업데이트들을 동일한 위치에서 제공할 수 있다. 업데이트들은 시스템 및/또는 애플리케이션 퀵 액션들 및/또는 다른 단축경로들을 포함할 수 있다.
도 11a 및 11b는 집합적으로, 애플리케이션 고유의 뷰를 예시한다. 도 11a를 참조하면, 디스플레이 장치(124)는 애플리케이션들 App A, App B, App C, 및 App D의 아이콘들을 가진 홈 스크린의 예를 디스플레이 하고 있다. 예시의 목적 상, 이용 가능한 업데이트들을 가진 각각의 애플리케이션의 아이콘은, 그 애플리케이션에 대해 이용 가능한 업데이트들의 개수를 가리키는 뱃지를 가진다. 예를 들어, App A는 이용 가능한 업데이트가 없고; App B는 뱃지에 의해 지시된 것과 같이 1 개의 이용 가능한 업데이트를 가지고; App C는 뱃지에 의해 지시된 것과 같이 3 개의 이용 가능한 업데이트를 가지며; App C는 뱃지에 의해 지시된 것과 같이 1 개의 이용 가능한 업데이트를 가진다. 도 11a의 예에서, 시스템은 App C의 아이콘과 상호작용하는 사용자 제스처(1102)를 검출한다. 사용자 제스처(1102)는 터치 후 멈춰있기(touch and hold), 터치 후 아래로 스와이핑 하기(화살표로 표시됨), 또는 다른 제스처일 수 있다.
도 11b를 참조하면, 디스플레이 장치(124)는 뷰(1104)를 디스플레이 한다. 뷰(1104)는 도 11a의 사용자 제스처(1102)에 응하여 디스플레이 된다. 일 실시예에서, 뷰(1104)는 App C의 아이콘에서 확장되도록 애니메이션된다. 일 실시예에서, 뷰(1104)는 여기 기술된 동일한 우선순위의 업데이트들을 디스플레이 하도록 된 서로 다른 복수의 뷰들과 구분된다. 뷰(1104)는 특정한 또는 선택된 애플리케이션에 대해 이용 가능한 업데이트들을 디스플레이 하도록 되어 있다. 그와 같이 선택된 애플리케이션에 대해 뷰(1104) 안에 디스플레이 된 업데이트들은 동일한 우선순위나 다른(가령, 상이한) 우선순위들의 업데이트들일 수 있다. 이 예에서, 뷰(1104)에 디스플레이 된 업데이트들은 애플리케이션 C(App C)에 대한 것이다. 예를 들어 뷰(1104)는 애플리케이션 C만의 업데이트들을 포함한다.
도 11a를 참조하면, 애플리케이션 C는 뱃지에 의해 지시된 것과 같이 3 개의 이용 가능한 업데이트들을 가진다. 도 11b에 도시된 것과 같이 뷰(1104)는 애플리케이션 C에 대해 이용 가능한 3 개의 업데이트들을 디스플레이 한다. 사용자 제스처(1102)(가령, 특정 사용자 입력)가 검출되는 어떤 애플리케이션에 대해 유사한 스타일의 뷰가 제공될 수 있다는 것을 알아야 한다. 예를 들어, 애플리케이션 B에 대한 사용자 제스처(1102)의 검출에 따라, 시스템은 애플리케이션 B의 업데이트들만을 포함하는 업데이트들의 뷰를 디스플레이 할 수 있다. 애플리케이션 A에 대한 사용자 제스처(1102)를 검출함에 따라, 시스템은 사용자에게 애플리케이션 A에 대해 사용 가능한 업데이트가 없다는 것을 알리고/알리거나 빈 뷰(empty view)를 표시할 수 있다.
다시 뷰 1104를 참조하면, 시스템은 디스플레이 된 업데이트들 중 다른 것들과의 추가 사용자 입력 및/또는 인터랙션을 수신할 수 있다. 예를 들어, 시스템은 업데이트 1의 사용자 선택을 수신함으로써 사용자가 업데이트 1을 해제하거나 업데이트 1이 나타내는 콘텐츠에 접근할 수 있다. 일 실시예에서, 시스템은 뷰(1104)의 경계 밖에서 검출된 터치와 같은 특정 사용자 입력에 응하여 뷰(1104)를 제거하거나 뷰(1104)를 해제할 수 있다. 일 실시예에서, 시스템은 뷰(1104) 내 업데이트들과의 사용자 인터랙션의 검출에 따라 수치로 된 지시자들이나 애플리케이션 아이콘들에 근접한 것(가령, 도 11a의 뱃지들)을 업데이트할 수 있다. 예를 들어, 업데이트 1이 접근되거나 해제되면서, 애플리케이션 C에 대응하는 뱃지는 2 개의 업데이트들만이 이용 가능함을 나타내도록 업데이트된다. 뷰(1104)는 사용자에게 특정 애플리케이션에 대한 업데이트들 전부로의 빠른 접근을 지원하다.
도 12는 업데이트들을 표시하도록 된 뷰(800)의 다른 예를 도시한다. 도 12는 사용자가 특정 뷰 안에서 업데이트들을 탐색하는 방법의 예를 도시한다. 뷰(800)는 선형적이고 스크롤 가능한 업데이트들(802, 804, 806, 808 및 810)의 리스트를 표시한다. 사용자는 리스트들의 위 아래로 스크롤 하면서 개별 업데이트들과 상호작용하여 해당 업데이트에 접근 및/또는 해제하거나 해당 업데이트에 대한 추가 세부사항들을 획득할 수 있다.
도 12의 예에서, 시스템은 애플리케이션 C의 업데이트(806) 상에서 상호작용하는 사용자 제스처(1202)를 검출한다. 업데이트(806)는 애플리케이션 C에 대한 복수의 업데이트들의 서머리를 제공하며, 특정 소셜 네트워크 플랫폼에 게시된 사진에 대해 5 개의 새로운 댓글(가령, 업데이트들)이 달렸다는 것을 가리킨다. 사용자 제스처(1202)를 검출함에 따라, 시스템은 뷰(1204)를 디스플레이 한다. 한 양태에서 뷰(1204)는 도 12의 뷰(800)의 우측에 디스플레이 되나, 뷰(1204)가 뷰(800) 위에 디스플레이 될 수도 있다. 예를 들어 뷰(1204)가 뷰(800) 위에 중첩된 것으로 디스플레이 될 수 있다. 뷰(1204)는 업데이트(806)에 보여진 서머리에서 참조된 5 개의 업데이트들(가령, 이 경우 댓글들)의 리스트를 포함한다. 뷰(1204)에서, 사용자는 댓글들(1-5) 중 어느 하나와 관련된 정보를 해제하거나, 접근하거나, 추가로 획득할 수 있다.
일 실시예에서, 사용자가 특정 애플리케이션의 업데이트들의 경계 너머로 스크롤 하면, 시스템은 같은 뷰 안에 다른 애플리케이션에 대한 업데이트들을 디스플레이 하도록 전환될 수 있다. 예를 들어, 사용자가 도 12의 뷰(1204)의 댓글(5) 너머로 스크롤 하면, 시스템은 뷰(800)에 제공된 애플리케이션 D의 업데이트들이나 다음 업데이트를 디스플레이 할 수 있다. 댓글(1) 너머 위로 스크롤 하는 것은 시스템이 뷰(1204) 안에 애플리케이션 B의 업데이트들을 디스플레이 하게 한다.
도 13은 업데이트들을 표시하도록 된 뷰(1306)의 다른 예를 도시한다. 뷰(1306)는 디스플레이 장치(124) 상에 디스플레이 된다. 도 13은 각각의 서로 다른 뷰가 서로 다른 탭에 대응하는 탭형(tabbed) 인터페이스의 예를 도시한다. 도시할 목적으로, 높은 우선순위의 업데이트들에 대한 탭(1302)이 보여지고, 낮은 우선순위 업데이트들에 대한 탭(1304)이 보여진다. 탭(1302)이 선택되어, 뷰(1306)를 보여준다. 뷰(1306)는 업데이트들(1308, 1310, 1312 및 1314)을 포함한다. 도 13의 예에서, 업데이트들(1308-1314) 각각은 “높은” 우선순위를 가진다. 탭(1304)의 사용자 선택에 따라, 시스템은 낮은 우선순위 업데이트들을 디스플레이 하도록 된 뷰와 같은 다른 뷰를 디스플레이 할 수 있다.
다른 실시예에서, 탭들은 애플리케이션들과 관련된다. 그 경우, 각각의 탭은 하나의 애플리케이션과 관련된다. 탭의 선택에 따라 표시되는 뷰는 관련 애플리케이션에 대한 업데이트들만을 포함한다. 예를 들어 탭(1302)이 애플리케이션 A와 관련되면, 탭(1302)은 “높은 우선순위” 대신 “애플리케이션 A”를 디스플레이 할 것이다.그에 따라, 뷰(1306)는 애플리케이션 A의 업데이트들만을 디스플레이 할 것이다. 뷰(1306) 안의 업데이트들은 서로 다른 우선순위들을 가지거나 가지지 않을 수 있다. 탭(1304)은 “애플리케이션 B”와 같은 다른 애플리케이션의 명칭을 디스플레이 할 것이다.탭(1304) 선택에 따라 표시되는 뷰는 업데이트들이 서로 다른 우선순위를 가진 것이든 아니든 애플리케이션 B에 대한 업데이트들만을 포함할 것이다.
하나 이상의 실시예들에서, 서로 상이한 애플리케이션들에 대한 업데이트들을 디스플레이 하도록 구성된 뷰 안에 표시된 업데이트는 단일 블록이나 타일 내에 그 업데이트들의 서머리 뷰를 표시할 수 있다. 업데이트들(804, 806, 1308, 1310)이 서머리 스타일 업데이트들의 예들이다. 서머리 타입의 업데이트의 경우, 그 업데이트의 선택에 따라, 시스템은 뷰(1204)를 이용하여 도 12에 예시된 것과 같은 소스 애플리케이션의 업데이트들을 디스플레이 할 수 있다. 그러한 특징은 도 13에 도시된 뷰(1306)와 같은 탭형 뷰 안에서 구현될 수 있다.
도 14는 업데이트들을 표시하도록 된 뷰(1400)의 다른 예를 도시한다. 도 14는 뷰(1400)가 업데이트들을 타일들(1405, 1410, 1415, 1420 및 1425)로서 디스플레이 하는 예를 도시한다. 한 양태에서 타일들(1405-1425)은 그리드 형태로 정렬된다. 타일들은 동일한 크기이거나 동일하지 않은 크기일 수 있다. 한 양태에서 타일들(1405-1425) 각각은 하나의 업데이트에 대응한다. 다른 양태에서, 타일들 중 하나 이상, 또는 전부는 다수의 업데이트들을 요약하도록 구성된다. 도 14의 예에서, 타일(1420)은 여러 개의 업데이트들을 요약한다. 타일(1420)의 선택에 따라, 뷰(1430)가 디스플레이 된다. 뷰(1430)는 타일(1420) 안에서 요약된 업데이트들의 리스트를 디스플레이 한다. 도시된 바와 같이, 요약된 업데이트들은 5 개의 서로 다른 댓글들로 분해되며, 각각의 댓글이 하나의 업데이트라고 간주된다.
뷰(1430)는 뷰(1400)의 우측에 도시되어 있으나, 뷰(1430)가 뷰(1400) 위에 디스플레이 될 수도 있다. 예를 들어 뷰(1430)가 뷰(1400) 위에 중첩된 것으로 디스플레이 될 수 있다. 시스템은 뷰(1430)의 경계 밖을 사용자가 선택하거나 터치함에 따라 뷰(1430)의 디스플레이를 중단할 수 있다. 도시된 바와 같이, 뷰(1430)는 “clear all(모두 지우기)” 콘트롤을 더 포함한다. Clear all 콘트롤의 선택은 뷰(1430) 안의 모든 업데이트들을 해제하고 뷰(1430)을 추가로 해제함으로써 뷰(1400)가 다시 디스플레이 되도록 한다.
도시되지는 않았으나, 타일들(1405-1425)과 같은 타일들은 업데이트(802)를 참고하여 기술된 것과 같은 액션들에 대한 단축경로들을 포함할 수 있다. 업데이트로부터 단축경로들이 바로 선택되거나 개시될 수 있다. 예를 들어, 답장 버튼들, 좋아요(like) 콘트롤들 등이 타일 안에 디스플레이 되어, 사용자가 그 업데이트와 상호작용할 수 있게 한다. 일 실시예에서, 사용자들은 개별 업데이트를 선택하여 관련 애플리케이션을 열고 그 업데이트에 대응하는 새 콘텐츠를 볼 수 있다.
일 실시예에서, 시스템은 다양한 방식으로 다양한 뷰들 안에 업데이트들을 디스플레이 할 수 있다. 일 예에서, 시스템은 낮은 우선순위의 뷰 내 업데이트들에 대해서 보다 높은 우선순위의 뷰 내 업데이트들에 대해 더 구체적인 세부사항들을 보여줄 수 있다. 추가 세부사항들은 그 높은 우선순위의 업데이트를 취급하는 방법에 관하여 사용자에게 도움이 되거나 유익한 것일 수 있다. 다른 예에서, 시스템은 여러 애플리케이션들로부터의 업데이트들을 포함하는 뷰 안의 업데이트들 위에 소스 애플리케이션에 대한 아이콘이나 다른 식별 정보를 디스플레이 할 수 있다. 그에 따라 사용자들은 업데이트들에 대한 소스 애플리케이션을 판단할 수 있다. 하나, 혹은 동일한 애플리케이션으로부터의 업데이트들만을 포함하는 뷰들에 대해서는, 각각의 개별 업데이트가 그러한 소스 애플리케이션의 아이콘이나 다른 식별자를 포함할 필요가 없다.
일 실시예에서, 디스플레이 되는 뷰의 레이아웃은 발생 애플리케이션에 의해 선택된다. 예를 들어, 발생 애플리케이션이 업데이트들을 디스플레이 하기 위한 업데이트 관리자에 의해 제공된 소정 레이아웃들의 라이브러리로부터 한 레이아웃(가령, 타일들의 리스트)를 선택할 수 있다. 다른 예에서, 발생 애플리케이션은 업데이트들을 디스플레이 하기 위한 사용자 정의 레이아웃을 제공할 수 있다. 또 다른 예에서, 발생 애플리케이션은 서로 다른 우선순위의 업데이트들에 사용될 레이아웃을 선택할 수 있다. 예를 들어, 발생 애플리케이션은 높은 우선순위의 업데이트들에 대해 제1레이아웃을, 낮은 우선순위의 업데이트들에 대해 제2의 다른 레이아웃을 특정할 수 있다.
도 15는 여러 장치들 상에서의 뷰들의 예를 도시한다. 도시된 바와 같이, 업데이트들(1505, 1510, 1515, 1520, 1525 및 1530)과 같은 여러 업데이트들을 포함하는 뷰(1500)가 시스템(100)의 디스플레이 장치(124) 상에 디스플레이 된다. 추가 장치(1550)가 보여진다. 예를 들어, 장치(1550) 또한 뷰(1555)를 디스플레이 할 수 있는 디스플레이 장치(가령, 스크린)를 가지는 스마트 와치, 피트니스 트래킹 장치, 또는 다른 컴퓨팅 장치일 수 있다. 뷰(1555)는 업데이트들(1560 및 1565)을 포함한다. 한 양태에서, 장치(1550)는 시스템(100)과 통신 가능하게 연결된다. 다른 양태에서, 장치(1550)는 시스템(100)과 직접 통신하는 것은 아니다. 예를 들어, 장치(1550)는 독자적으로 작동하여 시스템(100)과 다른 기준을 사용할 수 있다.
일 실시예에서, 뷰(1500)는 제1우선순위를 가지는 업데이트들을 디스플레이 하도록 되고, 뷰(1555)는 제2의 다른 우선순위를 가지는 업데이트들을 디스플레이 하도록 되어 있다. 일 예로서, 뷰(1555)는 높은 우선순위의 업데이트들을 디스플레이 하도록 되어 있으며, 사용자가 쉽게 접근하기 위해 착용형 장치 상에 디스플레이 된다. 뷰(1500)는 시스템(100) 상에서 낮은 우선순위의 업데이트들을 디스플레이 하도록 되어 있다. 따라서, 뷰들(1500 및 1555) 각각은 서로 다른 장치 상에서 디스플레이 하도록 지정된다. 다른 실시예에서, 뷰들은 소스 애플리케이션에 따른 업데이트들을 디스플레이 할 수 있다, 예컨대 뷰(1500)는 제1애플리케이션에 대한 업데이트들을 포함하고 뷰(1555)는 제2의 다른 애플리케이션에 대한 업데이트들을 포함한다.
이 명세서에서 사용되는 용어는 특정 실시예들을 설명하기 위한 목적만을 위한 것일 뿐 한정의 의도가 있는 것은 아니다. 그럼에도 불구하고, 이 문서 전반에 걸쳐 적용되는 몇 가지 정의를 이하에서 제시할 것이다.
이 명세서에서 정의한 바와 같이, 단수형은 관련 문맥이 명백히 다른 것을 지시하지 않는 한 복수형을 포함하는 것으로 의도된다. 이 명세서에서 정의된 바와 같이 “적어도 하나”, “하나 이상”, 및 “및/또는”이라는 말들은 명백히 다르게 서술하지 않는 한, 동작의 결합형과 양자택일형 둘 모두가 해당되는 개방형 표현들이다. 예를 들어 “A, B, 및 C 중 적어도 하나”, “A, B, 또는 C 중 적어도 하나”, “A, B, 및 C 중 하나 이상”, “A, B, 또는 C 중 하나 이상”, 및 “A, B, 및/또는 C”라는 표현들 각각은, A 단독, B 단독, C 단독, A 및 B 포함, A 및 C 포함, B 및 C 포함, 또는 A, B 및 C 포함을 의미한다. 이 명세서에 정의된 바와 같이, “자동으로”라는 용어는 사용자 개입이 없다는 것을 의미한다.
이 명세서에 정의된 바와 같은 “컴퓨터 판독가능 저장 매체”라는 말은 명령어 실행 시스템, 장치, 또는 기기에 의해, 또는 그와 연결되어 사용할 프로그램 코드를 포함하거나 저장하는 저장 매체를 의미한다. 이 명세서에서 정의된 “컴퓨터 판독가능 저장 매체”라는 말은 본질적으로 일시적 전파 신호가 아니다. 컴퓨터 판독가능 저장 매체는 전자 저장 장치, 자기 저장 장치, 광학 저장 장치, 전자기 저장 장치, 반도체 저장 장치, 또는 이들의 어떤 적합한 조합일 수 있으나, 그에 국한되지 않는다. 이 명세서에 기술된 바와 같은 메모리는 컴퓨터 판독가능 저장 매체의 예들이다. 컴퓨터 판독가능 저장 매체의 보다 구체적 예들의 비 한정적 리스트는 휴대형 컴퓨터 디스켓, 하드 디스크, RAM(random access memory), ROM(read-only memory), EPROM(erasable programmable read-only memory 또는 플래시 메모리), SRAM(Static Random Access Memory), 휴대형 CD-ROM(compact disc read-only memory), DVD(digital versatile disk), 메모리 스틱, 플로피 디스크 등을 포함할 수 있다.
이 명세서에서 "일 실시예", "한 실시예", “하나 이상의 실시예들” 또는 그와 유사한 말은 그 실시예와 관련해 기술된 특정한 구성, 구조, 또는 특징이 본 개시에서 기술된 적어도 한 실시예 안에 포함된다는 것을 의미한다. 따라서, 본 개시 전체에 걸친 “일 실시예”, “다른 실시예”, “하나 이상의 실시예들” 및 유사한 문구의 출현이 반드시 모두 같은 실시예를 일컫는 것은 아닐 수 있다. “실시예” 및 “구성”이라는 말들이 본 개시 내에서 서로 바꾸어 사용될 수 있다.
본 명세서에 기술된 바와 같이, “출력”이라는 말은 물리적 메모리 요소들, 예컨대 장치들에 저장하기, 디스플레이나 다른 주변 출력 장치에 쓰기, 다른 시스템으로 보내거나 전송하기, 내보내기 등을 의미한다.
이 명세서에서 정의된 바와 같이, “프로세서”라는 용어는 적어도 하나의 하드웨어 회로를 의미한다. 하드웨어 회로는 프로그램 코드 안에 포함된 명령어들을 실행하도록 구성될 수 있다. 하드웨어 회로는 집적 회로일 수 있다. 프로세서의 예로는 중앙 처리 장치 (CPU), 어레이 프로세서, 벡터 프로세서, 디지털 신호 프로세서 (DSP), 필드 프로그래머블 게이트 어레이 (FPGA), 프로그래머블 로직 어레이 (PLA), 주문형 집적 회로 (ASIC), 프로그램 가능 논리 회로 및 제어기를 포함하나 그에 국한되지 않는다.
이 명세서에 정의된 바와 같이, “사용자”라는 용어는 사람을 의미한다.
제1, 제2 등의 용어들은 이 명세서에서 다양한 요소들을 기술하기 위해 사용될 수 있다. 다르게 서술되거나 정황상 명백히 다른 것을 가리키지 않는 한, 그러한 용어들은 한 요소를 다른 요소와 구별하기 위해 사용되는 것으로 상기 요소들이 그러한 용어들에 국한되어서는 안될 것이다.
컴퓨터 프로그램 제품은 프로세서가 본 발명의 양태들을 실행하게 하는 컴퓨터 판독가능 프로그램 명령어들을 가지는 컴퓨터 판독가능 저장 매체(또는 매체들)을 포함할 수 있다. 본 개시 내에서 “프로그램 코드”라는 용어는 “컴퓨터 판독가능 프로그램 명령어들”이라는 용어와 상호 교환 가능하게 사용된다.이 명세서에 기술된 컴퓨터 판독가능 프로그램 명령어들은 컴퓨터 판독가능 저장 매체로부터 각각의 컴퓨팅/프로세싱 장치들에 다운로드 되거나, 네트워크, 예컨대 인터넷, LAN, WAN 및/또는 무선 네트워크를 통해 외부 컴퓨터나 외부 저장 장치로 다운로드 될 수 있다. 네트워크는 구리 전송 케이블, 광학적 전송 섬유, 무선 전송, 라우터, 방화벽, 스위치, 게이트웨이 컴퓨터 및/또는 엣지 서버를 포함하는 엣지 장치를 포함할 수 있다. 각각의 컴퓨팅/프로세싱 장치 내 네트워크 어댑터 카드 또는 네트워크 인터페이스는 네트워크로부터 컴퓨터 판독가능 프로그램 명령어들을 수신하여, 그 컴퓨터 판독가능 프로그램 명령어들을 각각의 컴퓨팅/프로세싱 장치 안의 컴퓨터 판독가능 저장 매체에 저장하도록 전달한다.
본 명세서에 개시된 발명의 구성들에 대한 동작들을 실행하기 위한 컴퓨터 판독가능 프로그램 명령어들은 어셈블러 명령어들, 명령어 집합 구조(ISA) 명령어들, 머신 명령어들, 머신 종속 명령어들, 마이크로코드, 펌웨어 명령어들, 또는 객체 지향 프로그래밍 언어 및/또는 절차적 프로그래밍 언어를 포함하는 하나 이상의 프로그래밍 언어의 어떤 조합으로 작성된 소스 코드나 객체 코드일 수 있다. 컴퓨터 판독가능 프로그램 명령어들은 상태 설정 데이터를 특정할 수 있다. 컴퓨터 판독가능 프로그램 명령어들은 사용자 컴퓨터 상에서 전체가, 혹은 사용자 컴퓨터 상에서 일부가, 혹은 단독형 소프트웨어 패키지로서, 혹은 사용자 컴퓨터 상에서 일부와 원격 컴퓨터 상에서 일부가, 또는 원격 컴퓨터나 서버 상에서 전체가 실행될 수 있다. 후자의 경우, 원격 컴퓨터는 LAN 또는 WAN을 포함하는 어떤 타입의 네트워크를 통해 사용자 컴퓨터에 접속될 수 있고, 또는 (예컨대 인터넷 서비스 제공자를 이용하여 인터넷을 통해) 외부 컴퓨터로의 접속이 이루어질 수 있다. 어떤 경우, 예컨대 프로그램 가능 논리 회로, FPGA, 또는 PLA를 포함하는 전자 회로가 이 명세서에 기술된 발명의 구성들의 양태들을 수행하도록 전자 회로를 맞춤화하기 위해 컴퓨터 판독가능 프로그램 명령어들의 상태 정보를 활용함으로써 컴퓨터 판독가능 프로그램 명령어들을 실행할 수 있다.
본 발명의 구성의 소정 양태들은 방법들, 장치(시스템들), 및 컴퓨터 프로그램 제품들의 흐름도들 및/또는 블록도들을 참조하여 여기서 설명된다. 흐름도들 및/또는 블록도들의 각각의 블록, 및 흐름도들 및/또는 블록도들의 블록들의 조합들이 컴퓨터 판독가능 프로그램 명령어들, 가령, 프로그램 코드에 의해 구현될 수 있다.
이러한 컴퓨터 판독가능 프로그램 명령어들은 머신을 생성하기 위해 컴퓨터, 특수용 컴퓨터 또는 다른 프로그래머블 데이터 프로세싱 장치의 프로세서로 제공되어, 컴퓨터나 기타 프로그래머블 데이터 프로세싱 장치의 프로세서를 통해 실행되는 명령어들이 흐름도 및/또는 블록도의 블록이나 블록들에서 특정된 기능들/행위들을 구현하기 위한 수단을 생성하도록 할 수 있다. 이런 식으로, 프로세서를 프로그램 코드 명령어들과 동작 가능하게 연결함으로써, 프로세서의 머신이 프로그램 코드의 명령어들을 실행하기 위한 특수용도의 머신으로 변환된다. 이러한 컴퓨터 판독가능 프로그램 명령어들은 컴퓨터, 프로그래머블 데이터 프로세싱 장치, 및/또는 기타 전자 기기들이 특정 방식으로 기능하게 할 수 있는 컴퓨터 판독가능 저장 매체에 저장될 수도 있으므로, 명령어들이 저장된 컴퓨터 판독가능 저장 매체는 흐름도 및/또는 블록도의 블록이나 블록들에서 특정된 동작들의 양태들을 구현하는 명령어들을 포함하는 제조품을 포함한다.
컴퓨터 판독가능 프로그램 명령어들은 또한 컴퓨터, 기타 프로그래머블 데이터 프로세싱 장치, 또는 기타 장치 상에 로드되어 컴퓨터나 기타 프로그래머블 장치나 기타 장치 상에서 수행될 일련의 동작들이 컴퓨터 구현 프로세스를 생성하도록 함으로써, 상기 명령어들이 컴퓨터, 기타 프로그래머블 장치, 또는 기타 장치 상에서 실행 시 흐름도 및/또는 블록도의 블록이나 블록들에서 특정된 기능/행위를 구현하도록 한다.
도면의 흐름도 및 블록도들은 본 발명의 구성들의 다양한 양태들에 따른 시스템, 방법 및 컴퓨터 프로그램 제품의 가능한 구현예들의 구조, 기능, 및 동작을 예시한다. 이와 관련하여 흐름도나 블록도들의 각각의 블록은 특정된 동작들을 구현하기 위한 하나 이상의 실행가능 명령어들을 포함하는 모듈, 세그먼트, 또는 명령어들의 일부를 나타낼 수 있다. 다른 일부 구현예들에서, 블록들 내에 표기된 동작들은 도면에 표시된 순서와 다르게 일어날 수 있다. 예를 들어 관련된 기능에 따라, 연속으로 보여진 두 개의 블록들이 실질적으로 동시발생적으로 실행되거나, 블록들이 종종 반대의 순서로 실행될 수 있다. 블록도들 및/또는 흐름도의 각각의 블록 및 블록도들 및/또는 흐름도의 블록들의 조합이 특정 기능들이나 행위들을 수행하거나 특수용 하드웨어 및 컴퓨터 명령어들의 조합을 실행하는 특수용 하드웨어 기반 시스템들에 의해 구현될 수 있다는 것 역시 알아야 한다.
이하의 청구범위에서 알 수 있는 모든 수단이나 단계에 더한 기능 요소들의 해당 구조, 물질, 동작 및 그 균등물은 구체적으로 청구된 다른 청구 요소들과 결합하여 해당 기능을 수행하기 위한 임의의 구조, 물질, 또는 동작을 포함하도록 되어 있다.
이 명세서에서 제공되는 실시예들에 대한 내용은 예시할 목적을 위한 것으로, 개시된 형식 및 예들에 국한되지 않는다. 이 명세서에서 사용된 용어들은 발명의 구성에 대한 원리, 실제 응용예나 시장에서 찾을 수 있는 기술들을 뛰어 넘는 기술적 개선을 설명하거나, 다른 당업자들이 여기 개시된 실시예들을 이해할 수 있도록 하기 위한 것이다. 개시된 발명의 범위 및 개념에서 벗어나지 않고 수정 및 변형이 있을 수 있다는 것을 당업자라면 자명하게 알 수 있을 것이다. 따라서, 그러한 특징들 및 구현예들의 범위를 나타낸 것으로서 상술한 내용이 아닌 이하의 청구범위를 참고해야 할 것이다.

Claims (29)

  1. 업데이트 관리 방법에 있어서,
    서로 다른 애플리케이션들에 대해 이용 가능한 콘텐츠에 대응하는 데이터 항목들을 수신하는 단계;
    프로세서를 이용하여 상기 데이터 항목들과 관련된 우선순위를 결정하는 단계;
    상기 우선순위를 이용하여 상기 데이터 항목들의 업데이트들을 생성하는 단계; 및
    복수의 뷰들(views) 중 서로 다른 뷰들 안에 상기 업데이트들을 디스플레이 하되, 상기 복수의 뷰들 각각은 동일한 우선순위의 업데이트들을 디스플레이 하도록 되어 있는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 복수의 뷰들 중 제1뷰는 제1장치 상에서 디스플레이 되도록 지정되고, 상기 복수의 뷰들 중 제2뷰는 제2장치 상에서 디스플레이 되도록 지정되는 방법.
  3. 제1항에 있어서, 상기 업데이트들을 생성하는 단계는
    선택된 데이터 항목에 대해, 제1우선순위를 가진 제1업데이트를 생성하고, 제2 및 다른 우선순위를 가진 제2업데이트를 생성하되, 상기 제1업데이트 및 상기 제2업데이트는 상기 복수의 뷰들 중 서로 다른 뷰들 안에 디스플레이 되는 단계를 포함하는 방법.
  4. 제3항에 있어서, 상기 제2업데이트는 상기 제1업데이트를 해제함에 따라 생성되는 방법.
  5. 제1항에 있어서, 상기 우선순위를 결정하는 단계는 상기 서로 다른 애플리케이션들과의 사용자 인터랙션의 이력 및 상기 데이터 항목들에 대응하는 이용 가능한 콘텐츠 중 적어도 하나에 기반하는 방법.
  6. 제5항에 있어서, 상기 사용자 인터랙션 이력은 애플리케이션 별 상기 업데이트들과 상호작용하는 사용자의 응답 시간 이력; 또는 상기 서로 다른 애플리케이션들의 사용 빈도 중 적어도 하나를 포함하는 방법.
  7. 제1항에 있어서, 애플리케이션 별 상기 업데이트들과 상호작용하는 사용자의 응답 시간 이력; 또는
    상기 서로 다른 애플리케이션들의 사용 빈도 중 적어도 하나에 기반하여 상기 복수의 뷰들 중 적어도 하나에 디스플레이 되는 업데이트들의 순서를 결정하는 단계를 더 포함하는 방법.
  8. 제1항에 있어서, 상기 데이터 항목들의 우선순위들은 상기 서로 다른 애플리케이션들에 의해 특정되고, 상기 서로 다른 애플리케이션들 중 제1애플리케이션으로부터의 적어도 일부 업데이트들은 서로 다른 우선순위를 가지는 방법.
  9. 제1항에 있어서, 상기 업데이트들을 디스플레이 하는 단계는
    상기 서로 다른 애플리케이션들 중 제1애플리케이션을 나타내는 아이콘과의 사용자 인터랙션 검출에 응답하여, 상기 제1애플리케이션의 복수의 서로 다른 우선순위들을 가진 업데이트들을 디스플레이 하도록 된 합성(combined) 뷰를 디스플레이 하는 단계를 포함하고, 상기 합성 뷰는 상기 복수의 뷰들과 상이한 방법.
  10. 제1항에 있어서, 상기 복수의 뷰들 중 적어도 하나는 복수의 탭들을 포함하고, 상기 각각의 탭은 상기 서로 다른 애플리케이션들 중 하나에 대응하며, 상기 대응하는 애플리케이션의 업데이트들만을 포함하는 방법.
  11. 제1항에 있어서, 상기 복수의 뷰들 각각은 한 번에 하나씩 디스플레이 되는 방법.
  12. 제1항에 있어서, 상기 데이터 항목들의 우선순위들은 사용자에 의해 특정되는 방법.
  13. 제1항에 있어서, 상기 복수의 뷰들 각각은 서로 다른 사용자 입력에 따라 디스플레이 되는 방법.
  14. 프로그램 코드를 저장하도록 구성된 메모리;
    상기 메모리와 연결되어, 상기 프로그램 코드를 실행함에 따라,
    서로 다른 애플리케이션들에 대해 이용 가능한 콘텐츠에 대응하는 데이터 항목들을 수신하는 동작;
    상기 데이터 항목들과 관련된 우선순위를 결정하는 동작;
    상기 우선순위를 이용하여 상기 데이터 항목들의 업데이트들을 생성하는 동작;
    복수의 뷰들 중 서로 다른 뷰들 안에 상기 업데이트들을 디스플레이 하되, 상기 복수의 뷰들 각각은 동일한 우선순위의 업데이트들을 디스플레이 하도록 되어 있는 동작을 포함하는 업데이트 관리를 위한 동작들을 개시하도록 구성되는 프로세서를 구비하는 장치.
  15. 제14항에 있어서, 상기 복수의 뷰들 중 제1뷰는 제1장치 상에서 디스플레이 하도록 지정되고, 상기 복수의 뷰들 중 제2뷰는 제2장치 상에서 디스플레이 하도록 지정되는 장치.
  16. 제14항에 있어서, 상기 업데이트들을 생성하는 동작은
    선택된 데이터 항목에 대해, 제1우선순위를 가진 제1업데이트를 생성하고, 제2 및 다른 우선순위를 가진 제2업데이트를 생성하되, 상기 제1업데이트 및 상기 제2업데이트는 상기 복수의 뷰들 중 서로 다른 뷰들 안에 디스플레이 되는 동작을 포함하는 장치.
  17. 제16항에 있어서, 상기 제2업데이트는 상기 제1업데이트를 해제함에 따라 생성되는 장치.
  18. 제14항에 있어서, 상기 우선순위를 결정하는 동작은 상기 서로 다른 애플리케이션들과의 사용자 인터랙션 이력에 기반하는 장치.
  19. 제18항에 있어서, 상기 사용자 인터랙션 이력은
    애플리케이션 별 상기 업데이트들과 상호작용하는 사용자의 응답 시간 이력; 또는
    상기 서로 다른 애플리케이션들의 사용 빈도 중 적어도 하나를 포함하는 장치.
  20. 제14항에 있어서,
    애플리케이션 별 업데이트들과 상호작용하는 사용자의 응답 시간 이력; 또는
    상기 서로 다른 애플리케이션들의 사용 빈도 중 적어도 하나에 기반하여 상기 복수의 뷰들 중 적어도 하나에 디스플레이 되는 업데이트들의 순서를 결정하는 동작을 더 포함하는 장치.
  21. 제14항에 있어서, 상기 업데이트들을 디스플레이 하는 동작은
    상기 서로 다른 애플리케이션들 중 제1애플리케이션을 나타내는 아이콘과의 사용자 인터랙션 검출에 응답하여, 상기 제1애플리케이션의 복수의 서로 다른 우선순위들을 가진 업데이트들을 디스플레이 하도록 된 합성(combined) 뷰를 디스플레이 하는 동작을 포함하고, 상기 합성 뷰는 상기 복수의 뷰들과 상이한 장치.
  22. 업데이트 관리를 위한 프로그램 코드가 저장된 컴퓨터 판독가능 저장 매체를 구비한 컴퓨터 프로그램 제품으로서, 상기 프로그램 코드는 프로세서에 의해 실행되어,
    서로 다른 애플리케이션들에 대해 이용 가능한 콘텐츠에 대응하는 데이터 항목들을 수신하는 동작;
    상기 데이터 항목들과 관련된 우선순위를 결정하는 동작;
    상기 우선순위를 이용하여 상기 데이터 항목들의 업데이트들을 생성하는 동작; 및
    복수의 뷰들(views) 중 서로 다른 뷰들 안에 상기 업데이트들을 디스플레이 하되, 상기 복수의 뷰들 각각은 같은 우선순위의 업데이트들을 디스플레이 하도록 되어 있는 동작을 포함하는 동작들을 수행하도록 하는 컴퓨터 프로그램 제품.
  23. 제22항에 있어서, 상기 복수의 뷰들 중 제1뷰는 제1장치 상에서 디스플레이 하도록 지정되고, 상기 복수의 뷰들 중 제2뷰는 제2장치 상에서 디스플레이 하도록 지정되는 컴퓨터 프로그램 제품.
  24. 제22항에 있어서, 상기 업데이트들을 생성하는 동작은
    선택된 데이터 항목에 대해, 제1우선순위를 가진 제1업데이트를 생성하고, 제2 및 다른 우선순위를 가진 제2업데이트를 생성하되, 상기 제1업데이트 및 상기 제2업데이트는 상기 복수의 뷰들 중 서로 다른 뷰들 안에 디스플레이 되는 동작을 포함하는 컴퓨터 프로그램 제품.
  25. 제24항에 있어서, 상기 제2업데이트는 상기 제1업데이트를 해제함에 따라 생성되는 컴퓨터 프로그램 제품.
  26. 제22항에 있어서, 상기 우선순위를 결정하는 동작은 상기 서로 다른 애플리케이션들과의 사용자 인터랙션 이력에 기반하는 컴퓨터 프로그램 제품.
  27. 제26항에 있어서, 상기 사용자 인터랙션 이력은
    애플리케이션 별 상기 업데이트들과 상호작용하는 사용자의 응답 시간 이력; 또는
    상기 서로 다른 애플리케이션들의 사용 빈도 중 적어도 하나를 포함하는 컴퓨터 프로그램 제품.
  28. 제22항에 있어서,
    애플리케이션 별 상기 업데이트들과 상호작용하는 사용자의 응답 시간 이력; 또는
    상기 서로 다른 애플리케이션들의 사용 빈도 중 적어도 하나에 기반하여 상기 복수의 뷰들 중 적어도 하나에 디스플레이 되는 업데이트들의 순서를 결정하는 동작을 더 포함하는 컴퓨터 프로그램 제품.
  29. 제22항에 있어서, 상기 업데이트들을 디스플레이 하는 동작은
    상기 서로 다른 애플리케이션들 중 제1애플리케이션을 나타내는 아이콘과의 사용자 인터랙션 검출에 따라, 상기 제1애플리케이션의 복수의 서로 다른 우선순위들을 가진 업데이트들을 디스플레이 하도록 된 합성(combined) 뷰를 디스플레이 하는 동작을 포함하고, 상기 합성 뷰는 상기 복수의 뷰들과 상이한 컴퓨터 프로그램 제품.
KR1020187031743A 2016-04-11 2017-04-10 컴퓨팅 시스템에서 다중 접근 방법을 이용한 업데이트 관리 KR20180132107A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662320917P 2016-04-11 2016-04-11
US62/320,917 2016-04-11
US15/475,311 US11422672B2 (en) 2016-04-11 2017-03-31 Managing updates in a computing system using multiple access methods
US15/475,311 2017-03-31
PCT/KR2017/003880 WO2017179873A1 (en) 2016-04-11 2017-04-10 Managing updates in a computing system using multiple access methods

Publications (1)

Publication Number Publication Date
KR20180132107A true KR20180132107A (ko) 2018-12-11

Family

ID=59999349

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187031743A KR20180132107A (ko) 2016-04-11 2017-04-10 컴퓨팅 시스템에서 다중 접근 방법을 이용한 업데이트 관리

Country Status (4)

Country Link
US (1) US11422672B2 (ko)
EP (1) EP3420449B1 (ko)
KR (1) KR20180132107A (ko)
WO (1) WO2017179873A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11422672B2 (en) 2016-04-11 2022-08-23 Samsung Electronics Co., Ltd. Managing updates in a computing system using multiple access methods
US10834217B2 (en) * 2017-08-16 2020-11-10 T-Mobile Usa, Inc. Managing mobile notifications received via a wireless communication network
CN109844706B (zh) * 2017-09-30 2021-01-29 华为技术有限公司 一种消息的处理方法及装置
WO2019133763A1 (en) 2017-12-29 2019-07-04 Virtual Instruments Corporation System and method of application discovery
US10958958B2 (en) * 2018-08-21 2021-03-23 International Business Machines Corporation Intelligent updating of media data in a computing environment
US11196698B2 (en) * 2019-10-02 2021-12-07 Facebook, Inc. Social network synchronization
US11216169B2 (en) 2019-10-02 2022-01-04 Facebook, Inc. Social network interactions
CN110995571A (zh) * 2019-11-21 2020-04-10 孙建 数据处理方法、终端设备及服务器设备
US20230059021A1 (en) * 2021-08-23 2023-02-23 Jobby Inc. Portal and interface system and method

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6597378B1 (en) * 2000-01-18 2003-07-22 Seiko Epson Corporation Display device, portable information processing apparatus, information storage medium, and electronic apparatus
US7278108B2 (en) * 2001-08-10 2007-10-02 Danger, Inc. System and method of displaying multiple pending notifications in a single window
CN1668893B (zh) 2002-07-17 2012-03-21 株式会社查纳位资讯情报 导航方法、用于导航系统的处理方法、地图数据管理装置、地图数据管理程序、以及计算机程序
CA2727763C (en) * 2003-12-01 2013-09-10 Research In Motion Limited Previewing a new event on a small screen device
US8381127B2 (en) 2006-02-02 2013-02-19 Scenera Technologies, Llc Methods, systems, and computer program products for displaying windows on a graphical user interface based on relative priorities associated with the windows
US20070282959A1 (en) 2006-06-02 2007-12-06 Stern Donald S Message push with pull of information to a communications computing device
JP4822062B2 (ja) 2006-09-29 2011-11-24 アイシン・エィ・ダブリュ株式会社 データ更新システム、ナビゲーション装置、及びデータ更新方法
JP4384165B2 (ja) 2006-12-08 2009-12-16 株式会社東芝 情報処理装置
US7982598B2 (en) * 2007-02-06 2011-07-19 Access Co., Ltd. Method for integrating user notifications and user alerts on an electronic device
US8914786B2 (en) 2007-03-23 2014-12-16 Zumobi, Inc. Systems and methods for controlling application updates across a wireless interface
US8589541B2 (en) 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
US8069446B2 (en) * 2009-04-03 2011-11-29 Microsoft Corporation Parallel programming and execution systems and techniques
US20100281402A1 (en) 2009-04-29 2010-11-04 Torch Mobile Inc. Software-based asynchronous tiled backingstore
US8510801B2 (en) 2009-10-15 2013-08-13 At&T Intellectual Property I, L.P. Management of access to service in an access point
US8490075B2 (en) 2009-11-23 2013-07-16 Nokia Corporation Method and apparatus for optimizing an exchange of service updates
US9886727B2 (en) 2010-11-11 2018-02-06 Ikorongo Technology, LLC Automatic check-ins and status updates
US20120218277A1 (en) 2011-02-25 2012-08-30 ST-Ericcson SA Display list mechanism and scalable display engine structures
US9360991B2 (en) 2011-04-11 2016-06-07 Microsoft Technology Licensing, Llc Three-dimensional icons for organizing, invoking, and using applications
WO2012150602A1 (en) 2011-05-03 2012-11-08 Yogesh Chunilal Rathod A system and method for dynamically monitoring, recording, processing, attaching dynamic, contextual & accessible active links & presenting of physical or digital activities, actions, locations, logs, life stream, behavior & status
US20130007662A1 (en) 2011-06-29 2013-01-03 International Business Machines Corporation Prioritization of urgent tasks on mobile devices
US8924493B1 (en) * 2012-03-09 2014-12-30 Google Inc. Prioritized notifications in a social network
US20130346922A1 (en) * 2012-06-26 2013-12-26 Google Inc. Insitu actions within presentation of notifications
US8707201B1 (en) * 2012-06-27 2014-04-22 Google Inc. Systems and methods for prioritizing notifications on mobile devices
US20140129661A1 (en) * 2012-11-06 2014-05-08 Somas THYAGARAJA Smart Web Notifications
KR101457632B1 (ko) * 2012-12-20 2014-11-10 주식회사 팬택 프로그램 알림 기능을 갖는 휴대용 전자 기기 및 이를 위한 프로그램 알림 방법
US9769106B2 (en) * 2012-12-28 2017-09-19 Intel Corporation Displaying notifications on a mobile computing device
US9311041B2 (en) * 2013-02-22 2016-04-12 Blackberry Limited Device, system and method for generating data
US9402167B2 (en) * 2013-03-14 2016-07-26 Google Technology Holdings LLC Notification handling system and method
KR20140122072A (ko) 2013-04-09 2014-10-17 삼성전자주식회사 전자 장치에서 어플리케이션을 업데이트하기 위한 장치 및 방법
KR20140137509A (ko) 2013-05-22 2014-12-03 삼성전자주식회사 알림 기능 운용 방법 및 이를 지원하는 전자 장치
US9338116B2 (en) * 2013-06-28 2016-05-10 Blackberry Limited Device and method for displaying and interacting with display objects
KR102153646B1 (ko) * 2013-12-24 2020-09-08 엘지전자 주식회사 이동 단말기 및 이동 단말기의 제어 방법
US20160085397A1 (en) * 2014-09-23 2016-03-24 Qualcomm Incorporated Smart Watch Notification Manager
US20160337299A1 (en) * 2015-05-13 2016-11-17 Google Inc. Prioritized notification display
US11422672B2 (en) 2016-04-11 2022-08-23 Samsung Electronics Co., Ltd. Managing updates in a computing system using multiple access methods

Also Published As

Publication number Publication date
EP3420449B1 (en) 2021-12-22
EP3420449A4 (en) 2019-05-01
EP3420449A1 (en) 2019-01-02
US20170293414A1 (en) 2017-10-12
WO2017179873A1 (en) 2017-10-19
US11422672B2 (en) 2022-08-23

Similar Documents

Publication Publication Date Title
KR20180132107A (ko) 컴퓨팅 시스템에서 다중 접근 방법을 이용한 업데이트 관리
JP7366976B2 (ja) コンピューティング装置の通知のための通知チャネル
US11692840B2 (en) Device, method, and graphical user interface for synchronizing two or more displays
KR102188754B1 (ko) 상황별 작업 바로 가기들
CN109196455B (zh) 用于carplay的应用程序快捷方式
CN111339032B (zh) 管理具有多页面的文件夹的设备、方法和图形用户界面
CN108710466B (zh) 通知的优先级化管理和呈现
US20170337045A1 (en) Automatic graphical user interface generation from notification data
CN106095449B (zh) 提供便携式装置的用户接口的方法和设备
KR102061361B1 (ko) 확장형 통신 서비스를 위한 동적인 최소화된 내비게이션 바
US10254928B1 (en) Contextual card generation and delivery
EP3563264A1 (en) Application extension for generating automatic search queries
WO2019206158A1 (zh) 一种界面显示方法、装置及设备
CN112083815A (zh) 消息中的预制回答
TW201721472A (zh) 資料處理方法、裝置和智慧終端機
US20140316884A1 (en) Interactive advertising system
CN110678842A (zh) 动态生成针对与操作系统用户界面元素的用户交互的任务快捷方式
AU2019257433B2 (en) Device, method and graphic user interface used to move application interface element
US20160350136A1 (en) Assist layer with automated extraction
KR102053196B1 (ko) 전자장치 및 전자 장치의 일정 자동 생성 방법
US10938767B2 (en) Outputting reengagement alerts by a computing device
US20170357388A1 (en) Device, Method, and Graphical User Interface for Managing Data Stored at a Storage Location

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application