IP Library Granted Patent US 9,665,263
Granted Patent B2
US 9,665,263 · App. 14/247,866 · Granted May 30, 2017

Snap navigation of a scrollable list

Inventors: Priscila K Penha (San Francisco, CA); Kelly May Nash (San Mateo, CA); Daisuke Sakurai (San Francisco, CA); Shih-Hao Yeh (San Francisco, CA)
Assignee: Citrix Systems, Inc.
G06F3/0485G06F3/0482G06F3/04883
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,665,263
App. No.
14/247,866
Filed
Apr 8, 2014
Granted
May 30, 2017
Kind
B2
Art Unit
2179
USPC
715/769
Abstract

Methods, systems, and computer-readable media for providing snap navigation in a scrollable list are presented. Certain items of the content items in the scrollable list may represent natural or desirable breakpoints for scrolling through the list. As a list view scrolls through the scrollable list in response to user input, the list view may suspend scrolling when it reaches a breakpoint content item. In some embodiments, a computing device may determine that a given content item represents a breakpoint in the scrollable list based on a breakpoint rule. The breakpoint rule may be based on any suitable criteria for identifying the content item as a breakpoint for scrolling the list. For example, the breakpoint rule may be based on the content of the content item or a category of the content item.

Claims (69)

1. A method comprising:

generating, by a computing device, a user interface presenting a list view of a scrollable list that includes a plurality of content items, the list view including a first portion of the plurality of content items, and the scrollable list being divided into a plurality of segments,

wherein each segment of the plurality of segments corresponds to a respective time period and the scrollable list is divided into the plurality of segments based on a date or time associated with each of the plurality of content items, and

wherein the list view is presented in a first region of the user interface and an index generated based on the plurality of content items of the scrollable list is presented in a second region of the user interface;

receiving, by the computing device, user input corresponding to a first scroll command;

based on the first scroll command, presenting, by the computing device, scrolling activity in the list view in the first region of the user interface by updating the list view in the first region of the user interface to scroll through the plurality of content items, thereby including a first additional content item of the plurality of content items in the list view;

updating, by the computing device, a user-selectable calendar date picker presented on the index in the second region of the user interface based on the scrolling activity in the list view in the first region of the user interface, wherein updating the user-selectable calendar date picker presented on the index in the second region of the user interface based on the scrolling activity in the list view in the first region of the user interface comprises updating the user-selectable calendar date picker presented on the index in the second region of the user interface to indicate a date associated with a segment of the plurality of segments being presented in the list view in the first region of the user interface as a result of the scrolling activity in the list view in the first region of the user interface;

determining, by the computing device, whether the first additional content item satisfies a breakpoint rule based on determining whether the first additional content item is a beginning item or an end item of a segment of the plurality of segments; and

when it is determined that the first additional content item satisfies the breakpoint rule, suspending further updates that are based on the first scroll command,

wherein the scrollable list includes a second additional content item following the first additional content item in a direction associated with the first scroll command.

2. The method of claim 1 , comprising:

when it is determined that the first additional content item does not satisfy the breakpoint rule, updating the list view to continue scrolling through the plurality of content items, thereby including the second additional content item of the plurality of content items in the list view.

3. The method of claim 1 , wherein suspending further updates based on the first scroll command comprises terminating the scrolling through the plurality of content items after the first additional content item is included in the list view.

4. The method of claim 1 , wherein suspending further updates based on the first scroll command comprises updating, by the computing device, the list view to:

scroll past the first additional content item;

present at least a portion of the second additional content item of the plurality of content items; and

after presenting the portion of the second additional content item, cause the second additional content item to be automatically hidden by scrolling back to the first additional content item.

5. The method of claim 1 , comprising:

receiving, by the computing device, user input corresponding to a second scroll command after suspending further updates based on the first scroll command and while the first additional content item is included in the list view; and

based on the second scroll command, updating, by the computing device, the list view to continue scrolling through the plurality of content items, thereby including the second additional content item of the plurality of content items in the list view,

wherein the second additional content item is adjacent to the first additional content item in the scrollable list.

6. The method of claim 1 , wherein the breakpoint rule comprises a predefined value rule, and determining whether the first additional content item satisfies the breakpoint rule comprises determining whether a value associated with the first additional content item matches a predefined value or range of values.

7. The method of claim 1 , comprising:

receiving, by the computing device, user input selecting the user-selectable calendar date picker presented on the index; and

based on the user input selecting the user-selectable calendar date picker presented on the index, updating, by the computing device, the user interface to present a second portion of the plurality of content items,

wherein the second portion of the plurality of content items is determined based on a date corresponding to the user input selecting the user-selectable calendar date picker presented on the index.

8. The method of claim 1 , wherein the user interface further presents a user-selectable grouping control that is configured to allow a user of the computing device to group content items included in the scrollable list by day, week, or month.

9. The method of claim 1 , comprising:

receiving, by the computing device, user input selecting a particular date in the user-selectable calendar date picker presented on the index; and

in response to receiving the user input selecting the particular date in the user-selectable calendar date picker presented on the index, causing, by the computing device, the list view to jump in the scrollable list to a portion of the scrollable list associated with one or more events occurring on the particular date.

10. A system comprising:

a processor; and

memory storing computer-readable instructions that, when executed by the processor, cause the system to:

generate a user interface presenting a list view of a scrollable list that includes a plurality of content items, the list view including a first portion of the plurality of content items, and the scrollable list being divided into a plurality of segments,

wherein each segment of the plurality of segments corresponds to a respective time period and the scrollable list is divided into the plurality of segments based on a date or time associated with each of the plurality of content items, and

wherein the list view is presented in a first region of the user interface and an index generated based on the plurality of content items of the scrollable list is presented in a second region of the user interface;

receive user input corresponding to a first scroll command;

based on the first scroll command, present scrolling activity in the list view in the first region of the user interface by updating the list view in the first region of the user interface to scroll through the plurality of content items, thereby including a first additional content item of the plurality of content items in the list view;

update a user-selectable calendar date picker presented on the index in the second region of the user interface based on the scrolling activity in the list view in the first region of the user interface, wherein updating the user-selectable calendar date picker presented on the index in the second region of the user interface based on the scrolling activity in the list view in the first region of the user interface comprises updating the user-selectable calendar date picker presented on the index in the second region of the user interface to indicate a date associated with a segment of the plurality of segments being presented in the list view in the first region of the user interface as a result of the scrolling activity in the list view in the first region of the user interface;

determine whether the first additional content item satisfies a breakpoint rule based on determining whether the first additional content item is a beginning item or an end item of a segment of the plurality of segments; and

when it is determined that the first additional content item satisfies the breakpoint rule, suspend further updates that are based on the first scroll command,

wherein the scrollable list includes a second additional content item following the first additional content item in a direction associated with the first scroll command.

11. The system of claim 10 , wherein the memory stores additional computer-readable instructions that, when executed by the processor, cause the system to:

when it is determined that the first additional content item does not satisfy the breakpoint rule, update the list view to continue scrolling through the plurality of content items, thereby including the second additional content item of the plurality of content items in the list view.

12. The system of claim 10 , wherein suspending further updates based on the first scroll command comprises terminating the scrolling through the plurality of content items after the first additional content item is included in the list view.

13. The system of claim 10 , wherein suspending further updates based on the first scroll command comprises updating the list view to:

scroll past the first additional content item;

present at least a portion of the second additional content item of the plurality of content items; and

after presenting the portion of the second additional content item, cause the second additional content item to be automatically hidden by scrolling back to the first additional content item.

14. The system of claim 10 , wherein the memory stores additional computer-readable instructions that, when executed by the processor, cause the system to:

receive user input corresponding to a second scroll command after suspending further updates based on the first scroll command and while the first additional content item is included in the list view; and

based on the second scroll command, update the list view to continue scrolling through the plurality of content items, thereby including the second additional content item of the plurality of content items in the list view,

wherein the second additional content item is adjacent to the first additional content item in the scrollable list.

15. The system of claim 10 , wherein the breakpoint rule comprises a predefined value rule, and determining whether the first additional content item satisfies the breakpoint rule comprises determining whether a value associated with the first additional content item matches a predefined value or range of values.

16. The system of claim 10 , wherein the memory stores additional computer-readable instructions that, when executed by the processor, cause the system to:

receive user input selecting the user-selectable calendar date picker presented on the index; and

based on the user input selecting the user-selectable calendar date picker presented on the index, update the user interface to present a second portion of the plurality of content items,

wherein the second portion of the plurality of content items is determined based on a date corresponding to the user input selecting the user-selectable calendar date picker presented on the index.

17. The system of claim 10 , wherein the user interface further presents a user-selectable grouping control that is configured to allow a user of the system to group content items included in the scrollable list by day, week, or month.

18. One or more non-transitory computer readable media storing instructions that, when executed by a computing device, cause the computing device to:

generate a user interface presenting a list view of a scrollable list that includes a plurality of content items, the list view including a first portion of the plurality of content items, and the scrollable list being divided into a plurality of segments,

wherein each segment of the plurality of segments corresponds to a respective time period and the scrollable list is divided into the plurality of segments based on a date or time associated with each of the plurality of content items, and

wherein the list view is presented in a first region of the user interface and an index generated based on the plurality of content items of the scrollable list is presented in a second region of the user interface;

receive user input corresponding to a first scroll command;

based on the first scroll command, present scrolling activity in the list view in the first region of the user interface by updating the list view in the first region of the user interface to scroll through the plurality of content items, thereby including a first additional content item of the plurality of content items in the list view;

update a user-selectable calendar date picker presented on the index in the second region of the user interface based on the scrolling activity in the list view in the first region of the user interface, wherein updating the user-selectable calendar date picker presented on the index in the second region of the user interface based on the scrolling activity in the list view in the first region of the user interface comprises updating the user-selectable calendar date picker presented on the index in the second region of the user interface to indicate a date associated with a segment of the plurality of segments being presented in the list view in the first region of the user interface as a result of the scrolling activity in the list view in the first region of the user interface;

determine whether the first additional content item satisfies a breakpoint rule based on determining whether the first additional content item is a beginning item or an end item of a segment of the plurality of segments; and

when it is determined that the first additional content item satisfies the breakpoint rule, suspend further updates that are based on the first scroll command,

wherein the scrollable list includes a second additional content item following the first additional content item in a direction associated with the first scroll command.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2014
From: SAKURAI, DAISUKE; NASH, KELLY MAY; YEH, SHIH-HAO; PENHA, PRISCILA K
To: CITRIX SYSTEMS, INC.
Reel/Frame 032628/0717 →
Continuity (1)
Related Publication 20150286357A1 · Oct 8, 2015