US20170199641A1 - User Intent During Object Scrolling - Google Patents
User Intent During Object Scrolling Download PDFInfo
- Publication number
- US20170199641A1 US20170199641A1 US15/470,652 US201715470652A US2017199641A1 US 20170199641 A1 US20170199641 A1 US 20170199641A1 US 201715470652 A US201715470652 A US 201715470652A US 2017199641 A1 US2017199641 A1 US 2017199641A1
- Authority
- US
- United States
- Prior art keywords
- objects
- user
- sequence
- screen
- hierarchy
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/0485—Scrolling or panning
-
- G06F17/211—
-
- G06F17/2241—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/04817—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04845—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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/04883—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/137—Hierarchical processing, e.g. outlines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/60—Shadow generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04808—Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Definitions
- This disclosure generally relates to presenting multimedia objects, such as images or videos, in a user interface.
- a user interface in the industrial design field of human-machine interaction, is the space where interactions between humans and machines occur.
- the goal of interactions between a human, often referred to as a “user”, and a machine at the user interface is user's control of the machine and its operations (e.g., through user input) and machine feedback (e.g., through program output).
- GUI graphical user interface
- a graphical user interface is a type of user interface that allows users to interact with software applications executing on electronic or computing devices through multimedia objects (e.g., images, videos, audios, etc.) rather than purely text commands.
- FIG. 1 illustrates a portion of an example object hierarchy.
- FIGS. 2A-2D illustrate an example of simulating a 3D object on a 2D medium.
- FIGS. 3A-3C illustrate an example of simulating a 3D object on a 2D medium.
- FIG. 4 illustrates an example of simulating a 3D object on a 2D medium.
- FIGS. 5A-5B illustrate an example of simulating a light source in a virtual 3D space.
- FIG. 6 illustrates an example series of pages in an electronic book.
- FIGS. 7A-7D illustrate an example of previewing objects arranged in a series.
- FIGS. 8A-8B illustrate an example of scrolling through a series of objects.
- FIGS. 9A-9C illustrate an example of scrolling through objects in a hierarchy.
- FIG. 10 illustrates an example electronic device.
- a user interface and more specifically, a graphical user interface (GUI) may include any number of UI components or elements arranged in a hierarchy.
- the components of a user interface may be presented to users according to the hierarchical structure.
- some of these UI components may correspond to or represent multimedia objects, such as images, videos, or audios.
- these multimedia UI components may be presented to users individually on their own. Other times, they may be presented to users while contained in other UI components, such as being included in a window, a panel, or a web page.
- a user may interact with a multimedia UI component using a suitable input device (e.g., a finger or stylus on a touch-sensitive screen or a mouse). For example, the user may play or pause a video, or zoom or pan or rotate an image.
- a suitable input device e.g., a finger or stylus on a touch-sensitive screen or a mouse.
- the user may play or pause a video, or zoom or pan or rotate an image.
- the user's interaction with the multimedia UI component may result in different behaviors from the multimedia UI component.
- objects may be organized into a hierarchy.
- objects may be organized into a hierarchy based on how the individual objects are related to each other.
- the object hierarchy may have any number of levels, and at each level, there may be any number of objects.
- Parent-child or sibling relationships may exist between specific objects in the hierarchy.
- a parent object is one level above the level of its child objects.
- Two sibling objects are at the same level and share the same parent object.
- any portion of the hierarchy may also be considered a hierarchy in itself.
- FIG. 1 illustrates a portion of an example object hierarchy 100 that includes a number of objects 110 .
- an object in a hierarchy may or may not have a parent. If an object does not have a parent, it may be referred to as a “root” object (e.g., object 110 A).
- an object in a hierarchy may or may not have any children. If an object does not have any children, it may be referred to as a “leaf” or “terminal” object (e.g., object 110 B). If an object does have children (e.g., object 110 C), it may have any number of children.
- objects sharing the same parent may be referred to as each other's “siblings”. For example, in FIG.
- object 110 C is the parent of objects 110 D and 110 B.
- Objects 110 D and 110 B are the children of object 110 C and are siblings to each other.
- a hierarchy of objects e.g., object hierarchy 100 ) not only includes the individual objects themselves but also indicates the relationships among the specific objects. Moreover, the position of a specific object within the hierarchy may indicate its relationships with other objects in the hierarchy.
- an object may be a component of a user interface.
- the object hierarchy may be a UI hierarchy (e.g., a hierarchy of UI components).
- components of a user interface may be organized into a hierarchy.
- the UI hierarchy may have any number of layers corresponding to the levels of the object hierarchy, and at each layer, there may be any number of UI components.
- the position of a specific UI component within the hierarchy may indicate its relationships with other UI components in the hierarchy.
- the UI components may be presented to users according to the hierarchical structure (e.g., in layers). In particular embodiments, some of these UI components may be multimedia objects, such as images, videos, or audios.
- an object may correspond to a piece of user-consumable content.
- an object may be consumed by a user if the user may, for example and without limitation, interact with, view, read, listen to, manipulate, or handle the object.
- some user-consumable objects may be texts, images, videos, audios, feeds, executables (e.g., application programs or games), websites, web pages, digital books, photo albums, posts, or messages.
- user-consumable content, or more specifically, user-consumable objects may be organized into a hierarchy based on, for example, the relationships among the individual pieces of user-consumable content.
- a hierarchy of user-consumable content may be represented as a hierarchy of objects, where individual objects in the hierarchy may correspond to specific pieces of user-consumable content (e.g., texts, images, videos, audios, executables, etc.).
- the structure of the hierarchy indicates the relationships among the specific pieces of user-consumable content.
- the relationships among the objects in a hierarchy may correspond to how the objects are organized and presented to users.
- the objects when presenting a hierarchy of objects to a user of a device, the objects may be organized and presented according to the structure of the object hierarchy. More specifically, the objects may be presented in a user interface provided on the device according to the structure of the object hierarchy so that the user interface itself becomes hierarchical as well. Consequently, the user interface may include a number of layers, respectively corresponding to the levels in the object hierarchy. The positions of the objects within the hierarchy are preserved in the user interface, such that a specific object at a specific position in the hierarchy is presented in the corresponding position in the user interface. The relationships among the objects within the hierarchy are maintained in the user interface. In other words, there may be an one-to-one correspondence between an object in the object hierarchy and a UI component in the user interface, such that each object is represented by a UI component.
- the desktop may be a parent object, and sometimes the root object of a hierarchy, whose child objects are the individual software applications available on the desktop.
- a software application while itself being one of the child objects of the desktop, is also the parent object of the individual components of that software application.
- Different software applications may include different components.
- a software application that manages digital books e.g., a book reader application
- its components may include the digital books available, the individual chapters of each book, the pages of each chapter, and the texts, images, videos, audios, or any graphical user interface (GUI) or content or media elements on each page.
- GUI graphical user interface
- the book application may be the parent object of the digital books.
- a digital book may be the parent object of the individual chapters of that book.
- a chapter while itself being one of the child objects of the book, is also the parent object of the pages in that chapter.
- a page is the parent object of the texts, images, videos, audios, or any GUI or content or media elements on that page.
- a text block, image, video, audio, or GUI or content or media element is one of the child objects of the page to which it belongs.
- its components may include the individual news channels and the news stories within each channel. Each of these may correspond to an object.
- the news-feed application while itself being one of the child objects of the desktop, is also the parent object of the news channels.
- a news channel in turn is the parent object of the news stories included in that channel.
- the Internet may be a parent object whose child objects are the individual websites.
- a website while itself being one of the child objects of the Internet, is also the parent object of the individual web pages of that website.
- Each text block, image, video, audio, or link may also correspond to a specific object in the hierarchy.
- Some of these objects may respectively correspond to UI components of a web-based user interface that may be presented to a user through a web browser.
- a website such as a social-networking website
- the social-networking website may be a parent object whose child objects are the components (e.g., photo albums, user profile pages, etc.) of the website.
- a photo album while itself being a child object of the social-networking website, may in turn be a parent object, and the individual photos within the album may be the child objects of the photo album.
- a user's profile page may be structured in such a hierarchical fashion as well. The profile page itself may be considered a parent object, and the individual objects on the profile page may be the child objects of the profile page.
- a profile page may be considered and rendered (e.g., for presentation to a user) as a linear timeline of objects, such as, for example and without limitation, photos, photo albums, check-ins, comments from other users, attended events, tags, etc.
- child objects in the hierarchy may also include applications the user has added to the profile page, such as a Spotify music sharing application.
- individual stories, songs the user has listened to, and playlists may be child objects at a lower hierarchical level.
- child objects in the hierarchy may include particular sections of a user's profile, such as the user's education and employment information, or the public “wall” of the user's profile page.
- This disclosure contemplates representing and addressing any collection of content in a hierarchical object or nodal structure. Again, these objects may respectively correspond to UI components of a web-based user interface that may be presented to a user through a web browser.
- an object may be of any type and this disclosure contemplates any applicable types of objects.
- the term “object” may refer to any type of content, including but not limited to images, videos, captions, text blocks or boxes, user interface elements, URLs, newsfeed stories, references to other objects, advertisements, calendar events, units for displaying open graph analysis that may be graphically rendered, applications, websites, web pages, books, chapters.
- the hierarchical relationships e.g., parent-child or sibling relationships, positions of the objects within the hierarchy
- the hierarchical relationships e.g., parent-child or sibling relationships, positions of the objects within the hierarchy
- a hierarchy of objects may be displayed in a user interface that has a corresponding hierarchical structure.
- the user interface may include any number of layers, where each layer corresponds to a specific level of the object hierarchy.
- the lower layers of the user interface correspond to the top levels of the object hierarchy, while the upper layers of the user interface correspond to the bottom levels of the object hierarchy. That is, an object is displayed at a layer in the user interface that is below the layer of its child object and above the layer of its parent object. Since a child object and a parent object are displayed in two separately layers in the user interface, the child object may be considered as “floating” on top of its parent object.
- the user interface may be displayed on the screen of an electronic device for presentation to users.
- the screen may be touch sensitive and include a touch-sensitive input. A user may interact with various objects displayed on the screen by touching the screen with his fingers.
- a display device such as the screen of an electronic device, is a two-dimensional (2D) medium. Nevertheless, three-dimensional (3D) effect may be simulated (e.g., using shadows and perspective techniques) to present and display an 3D object on such 2D medium, similar to painting a 3D object on a 2D canvas.
- 3D virtual world may be created and 3D objects may be placed in such a virtual world. Shadows may be cast around an object to simulate the 3D effect.
- the size, shape, orientation, and color of the shadows may depend on, for example and without limitation, the size, shape, orientation, or color of the object, the distance between the object and the light source, and the spatial relationship between the object and the light source.
- the objects may be projected and displayed onto a 2D medium using applicable perspective techniques.
- FIG. 2A illustrates presenting a 3D object in a user interface displayed on a 2D medium and using shadows to simulate the 3D effect.
- the user interface is a page 200 of an electronic book.
- the page may include texts and other multi-media objects, such as image, video, clickable URL, and caption.
- image 210 visually floats on top of page 200 , indicating that users may interact with image 210 in various manners.
- FIG. 2A only half of the entire image 210 (e.g., a cropped version) is actually shown as image 210 lays flat on page 200 .
- a user may “lift” image 210 up and off page 200 by pinching image 210 with two fingers, as illustrated in FIG.
- the two fingers may be placed anywhere near one or more edges of image 210 .
- image 210 is pinched up and off the page, the entire image appears, but folded at an angle relative to the distance between the two fingers the user used to pinch the image. If the user pinches out beyond a predetermined threshold distance and then takes his fingers off the image, the image expands to fill the entire screen.
- shadows are placed around image 210 .
- a light source is simulated to cause the effect of shadowing around a floating object.
- a virtual 3D space may be constructed to encompass the object and the virtual light source.
- Light is shone on the object (e.g., image 210 ), causing shadows to be cast around the object on the background (e.g., page 200 ).
- a simulated light source 250 may be placed in the center of page 200 .
- the shadows around image 210 change depending on the position of image 210 in relation to simulated light source 250 .
- image 210 is moved toward the left side of the screen (e.g., near the left edge of page 200 ). In this case, there is more, darker shadow on the left side of image 210 and less, lighter shadow on the right side of image 210 , as the left side of image 210 faces away from simulated light source 250 and the right side of image 210 faces toward simulated light source 250 .
- image 210 is rotated more toward the left so that there is more of the right half of image 210 shown but less of the left half of image 210 shown.
- image 210 is moved toward the right side of the screen (e.g., near the right edge of page 200 ). In this case, there is more, darker shadow on the right side of image 210 and less, lighter shadow on the left side of image 210 , as the right side of image 210 faces away from simulated light source 250 and the left side of image 210 faces toward simulated light source 250 .
- image 210 is rotated more toward the right so that there is more of the left half of image 210 shown but less of the right half of image 210 shown.
- an object in the example above, image 210
- other objects such as text objects, layered below the image is stationary, permitting the user to manipulate the image and read the entire text simultaneously.
- a page 300 illustrated in FIG. 3A includes a floating image object 310 .
- image 310 is displayed on a page 300 of an electronic book.
- image 310 lays flat on page 300 and only a portion of image 310 is shown.
- a user may pinch image 310 up with two fingers (e.g., by placing the two fingers near the opposite edges of image 310 ). When this happens, image 310 unfolds partially as described above.
- image 310 is brought near the top of the screen.
- image 310 is rotated more toward the bottom so that more of the top half of image 310 is shown, and there is more shadow on the bottom side of image 310 than on the top side of image 310 .
- a simulated light source is placed above page 300 .
- image 310 is brought near the bottom of the screen.
- image 310 is rotated more toward the top so that more of the bottom half of image 310 is shown, and there is more shadow on the top side half of image 310 than on the bottom side of image 310 .
- a floating object When a floating object is pinched up, it may be moved to different positions on the screen, as illustrated in FIGS. 2C, 2D, 3B, and 3C . It may also be rotated, as illustrated in FIG. 4 .
- an image 410 included in a page 400 has been pinched up (e.g., using two fingers) and rotated (e.g., by rotating the fingers pinching image 410 ).
- the shadows around image 410 rotate with image 410 accordingly to maintain the three-dimensional effect.
- the shape of the shadows may also be adjusted based on the current spatial relationships between the object and the light source.
- a portion of image 420 overlays the text behind it on page 400 .
- the appearance of the text may be adjusted to simulate the effect of the shadow casted by the object on the text (e.g., slightly darkened or distorted).
- an object e.g., pinched with two fingers
- its size may change with the movement of the two fingers. By moving the two fingers further apart, the object may be enlarged. Conversely, by moving the two fingers closer together, the size of the object may be decreased.
- an object when an object is being manipulated by a user (e.g., picked up, rotated, zoomed in or out, etc.), the object itself, not an instance of the object, is manipulated. This ensures the self-consistency of the UI. For example, while a video is being played, the user may manipulate the video object (e.g., pinched down to a thumbnail size or pinched up to full screen). While the video object is being manipulated by the user, the playback of the video continues uninterrupted.
- the video object e.g., pinched down to a thumbnail size or pinched up to full screen
- the object below it is moved backward in the virtual three-dimensional space.
- the size of image 210 i.e., object
- the size of page 200 i.e., background
- image 410 when image 410 is pinched up, page 400 is moved backward to create the visual effect of a greater distance between image 410 and page 400 , which in turn simulates the effect of image 410 being picked up from page 400 .
- the shadow image 410 casts on page 400 increases in size accordingly.
- FIGS. 5A-5B The simulation of the effect of picking up a two-dimensional object in a virtual three-dimensional space is further illustrated in FIGS. 5A-5B .
- the distance between objects 510 and 520 is D 1 .
- a light source 530 above object 510 causes object 510 to cast a shadow 541 of object 510 onto object 520 .
- object 510 has moved away from object 520 and closer to light source 530 .
- the distance between objects 510 and 520 is D 2 , which is greater than D 1 .
- Light source 530 again causes object 510 to cast a shadow 542 of object 510 onto object 520 . But because object 510 is now further away from object 520 , shadow 542 is larger than shadow 541 .
- the shadow of an object may be implemented as a separate layer of the user interface.
- image 410 partially overlaps some texts on page 400 .
- shadow 420 surrounding image 410 .
- the texts covered by shadow 420 may be darkened accordingly as well.
- the shadow around an object may be drawn as a blurry dot, sliced up horizontally and vertically, and then stretched up to fill the necessary shadow area. This allows the shadow of an object to be determined without performing ray tracing, which is very computationally intensive and thus resource demanding.
- the size of the object may change depending on the positions of the two fingers.
- the two fingers are placed near the opposite edges of image 210 . If the two fingers move closer together, image 210 may fold more so that the two edges of image 210 move closer together, following the movement of the two fingers. Conversely, if the two fingers move further apart, image 210 may fold less so that the two edges of image 210 move further apart, again following the movement of the two fingers.
- the shadows around image 210 also move (e.g., expand or contract in size) with the edges of image 210 , following the movement of the two fingers.
- the object may be rendered on a first layer in the hierarchy while the shadows around the object may be rendered on a second layer, below the first layer, in the hierarchy.
- a dark pixel e.g., black or dark grey
- the color of the pixel may be a gradient, gradually transitioning from light at the edges of the pixel to dark at the center of the pixel, as illustrated in FIG. 4 .
- a collection of objects may be arranged in a series and displayed according to a specific order. Furthermore, due to the size restriction of the display device (e.g., a screen of an electronic device), one object from the series may be displayed at a time.
- an electronic book may include many pages. A user may read one page at a time so that one page is displayed on the user's device at a time. Furthermore, the pages are displayed according to a specific order (e.g., the order of the pages in the book).
- FIG. 6 illustrates a series of pages 610 contained in an electronic book.
- a photo album may include many photos. A user may view one photo at a time so that one photo is displayed on the user's device at a time. The photos may be displayed according to a specific order (e.g., chronological order).
- the display device may be a touch screen device.
- the user may move forward or backward in the series of objects by swiping fingers across the touch screen (e.g., swiping fingers toward the left side of the screen moves toward the end of the series and swiping fingers toward the right side of the screen moves toward the beginning of the series).
- the user may preview the object immediately before or after that object in the series.
- the object currently being displayed may be referred to as the “current object”.
- the current object As an example, suppose that the pages of an electronic book are displayed one page at a time. In FIG. 7A , a specific page 750 from the book is currently displayed, and current page 750 occupies the entire display screen.
- the user may swipe his fingers across the screen toward the left side of the screen. This may cause page 750 to move toward the left side of the screen corresponding to the movement of the user's fingers.
- FIG. 7B a portion of page 750 has moved off the left edge of the screen. The remaining portion of page 750 now only occupiers a portion of the display screen (on the left side of the screen).
- a portion of page 760 which is the page immediately after page 750 , has moved onto the screen and is displayed immediately next to and after page 750 , in the available portion on the right side of the display screen. The user may now preview page 760 .
- page 760 is displayed in a size smaller than that of page 750 . This visually indicates to the user that page 750 is still the current page.
- a shadow 762 is displayed around page 760 (i.e., the page being previewed).
- page 760 may be slightly dimmed. This helps the user avoid claustrophobia.
- the user may swipe his fingers across the screen toward the right side of the screen. This may cause page 750 to move toward the right side of the screen corresponding to the movement of the user's fingers.
- FIG. 7C a portion of page 750 has moved off the right edge of the screen. The remaining portion of page 750 now only occupiers a portion of the display screen (on the right side of the screen).
- a portion of page 740 which is the page immediately before page 750 , has moved onto the screen and is displayed immediately next to and before page 750 , in the available portion on the left side of the display screen. The user may now preview page 740 .
- page 740 is displayed in a size smaller than that of page 750 . This visually indicates to the user that page 750 is still the current page.
- a shadow 742 is displayed around page 740 (i.e., the page being previewed).
- page 740 may be slightly dimmed. This helps the user avoid claustrophobia.
- the amount of displacement for page 750 may correspond to the amount of movements of the user's fingers.
- the speed of the pages' movements may be the same as the speed of the user's fingers' movements.
- a threshold e.g., half of the width of the screen
- the page immediately before or after the currently displayed page is shown in its preview mode, as illustrated in FIGS. 7B and 7C .
- the user's fingers move across the screen for a distance more than a threshold (e.g., half of the width of the screen)
- the currently displayed page becomes the secondary page and the previewed page becomes the primary page. For example, in FIG.
- page 750 becomes the secondary page and page 760 (i.e., the page that originally being previewed) becomes the primary page.
- the size of page 750 is now smaller than that of page 760 .
- the shadow 752 is now around page 750 , instead of page 760 .
- Page 760 is then displayed in its entirety and occupiers the entire screen. Page 760 now becomes the current page.
- the preview page when the user releases the pages by moving his fingers away from the touch screen, if the user's fingers have moved across the screen for a distance less than a threshold, then the preview page is moved off the screen while the current page is moved back into its original position so that the entire current page is displayed and occupies the entire screen.
- the original current page is moved off the screen. Instead, the original preview page is centered on the screen so that the entire preview page is displayed and occupies the entire screen. At this point, the preview page becomes the current page. For example, if the user releases the pages in the situation illustrated in FIG.
- page 740 (the preview page) moves off the screen and page 750 returns to its original position and occupies the entire screen.
- page 750 moves off the screen and page 760 (the preview page) moves to the center of the screen and is displayed in its entirety and occupies the entire screen.
- Page 760 is now the current page.
- the user may also scroll through the objects. Again, the user may swipe his fingers across the screen to move forward or backward along the series. For example, to scroll forward along the series, the user may swipe his fingers toward the left or up side of the screen. Conversely, to scroll backward along the series, the user may swipe his fingers toward the right or down side of the screen.
- an electronic book may include a series of pages, and the user may scroll through these pages. At a particular time, only a few pages in the book are displayed on the screen.
- An album may include a series of images, and the user may scroll through these images. At a particular time, only a few images in the album are displayed on the screen.
- objects 810 , 820 , 830 , 840 , and 850 which may belong to a series of objects (e.g., pages or images) that include other additional objects, may be displayed on the screen at a particular time. Due to the size limitation of the screen, a portion of objects 810 and 850 are cut off at the edge because these two objects are respectively positioned near the left and right sides of the screen and cannot be fit onto the screen completely.
- the user While the user is looking at the objects displayed on the screen at any given time, the user may focus his attention more on the object near the center of the screen.
- the object near the center of the screen e.g., object 830
- the object near the center of the screen may be visually embellished so that it stands out more to the user.
- object 830 is currently near the center of the screen.
- Object 830 may be displayed at a size somewhat larger than the other objects 810 , 820 , 840 , 850 .
- This disclosure contemplates any applicable visual embellishment for object 830 in order to make it stand out more to the user.
- the two objects next to it i.e., objects 820 and 840
- the screen may be touch sensitive.
- the user may swipe his fingers across the screen to scroll through the series of objects.
- objects 810 , 820 , 830 , 840 , and 850 may gradually move toward the left (e.g., at the same speed as the user's fingers).
- object 810 may move completely off the screen while object 850 may move completely onto the screen.
- the object immediately following object 850 in the series i.e., object 860
- object 830 is no longer near the center of the screen. Instead, object 840 is now near the center of the screen.
- the visual embellishment for object 830 may be removed as it is no longer near the center of the screen.
- Object 830 is now displayed at the same size as the other objects and there is no shadow around object 830 .
- visual embellishment such as larger size and shadow, may be applied to object 840 to make it stand out more as it is now near the center of the screen.
- a portion of the series is displayed on the screen.
- the particular object that is currently near the center of the screen is visually embellished so that it stands out more.
- visually embellishment is applied to that object.
- visual embellishment is removed for that object.
- objects may be arranged in a hierarchy and displayed in a user interface that has a corresponding hierarchical structure.
- components of an electronic book may be arranged and displayed hierarchically.
- the book itself may be at the top level of the hierarchy.
- the second level may be the individual sections of the book.
- the third level may be the individual pages of the book. Each page is the child of the section to which it belongs, and each section is the parent of all the pages in that section.
- the relationships between the sections and the pages may be maintained. For example, all the sections may form a series of objects, while all the pages may form another series of objects.
- the sections may be displayed in one layer of the user interface, while the pages may be displayed in another layer, above the section layer, of the user interface. The user may scroll either the sections or the pages.
- the pages when the user scrolls through the sections, as the scrolling moves from one section to another section, the pages may be automatically advanced, such that when the user is currently viewing the first section, the pages in the first section are displayed, but when the user is currently viewing the second section, the pages in the second section are displayed.
- the sections when the user scrolls through the pages, as the scrolling moves from pages of one action to pages of another section, the sections may be automatically advanced, such that when the user is currently viewing the pages of the first section, the first section is displayed, but when the user is currently viewing the pages of the second section, the second section is displayed.
- FIG. 9A illustrates a section (e.g., the “Introduction” section) of the book.
- the first or title page 930 A of the section is used as the background 910 for the entire section.
- a table of contents (TOC) area 920 Near the bottom of the screen is a table of contents (TOC) area 920 .
- TOC area 920 includes the individual pages 930 of the current section, shown in thumbnail format and arranged horizontally across the screen of the electronic device.
- each page thumbnail is implemented as an object floating on an imaginary or metaphorical “strip” of paper.
- a photo album having the aforementioned nodal structure may be rendered as a film strip (parent object) including floating photo thumbnails for each photo contained in the album (child objects).
- a user profile or timeline may be represented as an infinite imaginary strip of paper (the parent object) containing a plurality of floating thumbnails representing photo albums, applications, events, etc. (child objects), each of which may contain its own child objects.
- FIG. 9A illustrates a layered arrangement of objects corresponding to an object hierarchy.
- background area 910 is the bottom layer.
- TOC area 920 is another layer positioned on top of the background layer.
- Pages 930 are a third layer positioned on top of the TOC layer.
- the background may be the parent of the TOC, and the TOC may be the parent of the pages.
- a user may move forward and backward to different pages in the section by sliding a finger in the left or right directions, respectively, across TOC area 920 .
- a user has slide a finger in the left direction across TOC area 920 .
- more pages e.g., pages 930 F, 930 G, 930 H
- the current “Introduction” section appears in TOC area 920 .
- FIG. 9C illustrates the transition between the “Introduction” section and “Chapter 1” of the book.
- the “Introduction” section is currently being viewed, and “Chapter 1” is the section that immediately follows the “Introduction” section in the book.
- title page 940 A of “Chapter 1” replaces title page 930 A of the “Introduction” section when “Chapter 1” becomes the current section being viewed by the user.
- title page 930 A of the “Introduction” section gradually moves left out of view, following by title page 940 A of “Chapter 1”, which gradually moves left into view to be displayed in background area 910 , effectively replacing title page 930 A of the “Introduction” section.
- the last few pages of the “Introduction” section gradually move left out of view and the first few pages of “Chapter 1” gradually move left into view in TOC area 920 .
- the right or left edge of the title page in background area 910 lines up with the right or left edge of the last or first page, respectively, of the corresponding section in TOC area 920 .
- the transition between a current section and a section immediately before the current section behaves similarly, with the exception that instead of moving in the left direction across the screen of the electronic device, objects move in the right direction.
- particular embodiments may estimate which specific object the user will view at a predetermined time in the future (e.g., 0.2 seconds in the future) based on the velocity or acceleration of the finger movements. For example, as the user is scrolling through a series of sections in a book, where each section may include a number of pages, particular embodiments may estimate which section the user will view 0.5 seconds in the future. As the user is scrolling through a series of photo albums, where each album may include a number of photos, particular embodiments may estimate which album the user will view 0.4 seconds in the future.
- This may enable the device to preload (e.g., download or render) the pages in that section or the photos in that album so that when the user is ready to view the pages or photos, they are already available and ready.
- preload e.g., download or render
- the device may estimate which object the user will view at a predetermined time in the future.
- the child objects of that object may be preloaded so that they are ready for the user.
- the child objects may be downloaded from a server or rendered on the user's device.
- the velocity of the finger movements may be detected.
- the acceleration of the finger movements may be computed based on the velocity.
- the estimation may be based on the acceleration. For example, higher acceleration may suggest that the user will view an object further away from the object currently being displayed on the screen while lower acceleration may suggest that the user will view an object closer to the object currently being displayed on the screen at the predetermined time in the future.
- the vector of the user's touch input may be utilized to ascertain whether a user wishes to browse other objects on the same hierarchical level as the current object, or the child objects of the current object. For example, if a user is swiping through a series of photo album objects on a profile page in a social networking website, the touch input vector may have a high velocity, or, even more tellingly, a high acceleration. Such an input may signal to the application that the user wishes to browse other photo albums, and the application may begin downloading photo album thumbnails based on the magnitude of acceleration or velocity of the input vector.
- the application may load thumbnails for the (i+10)th album, whereas if a user swipes slowly from the ith album, the application may load thumbnails for the (i+1)th album.
- the application may begin to download the child objects (individual photos) of the currently viewed album cover.
- content elements may be pre-drawn and loaded into a buffer based on where the user has scrolled; the digital book application extrapolates from the user's screen size to determine the size and contents of the buffer.
- movements of an object displayed in a user interface on a screen may be simulated based on spring movement.
- the object may move around the screen. This may be shown as animated sequences depicting the object's movements. For example, as the user picks up an object by pinching the object with two fingers, the object may move with the user's fingers. If the use releases the object, the object may return to its original position. The user may throw the object against the edge of the screen, causing the object to bounce around the screen.
- movements of the object may be simulated by attaching one end of a virtual spring to the object and another end of the virtual spring to a position on the screen (e.g., the original position of the object, the center of the screen, a corner of the screen, or an edge of the screen). Any number of virtual springs may be attached to an object.
- F the restoring force exerted by the spring on that end
- k is a constant called the rate or spring constant (in SI units: N/m or kg/s 2 ).
- the behavior is said to be linear.
- the negative sign on the right hand side of the equation is there because the restoring force always acts in the opposite direction of the displacement (e.g., when a spring is stretched to the left, it pulls back to the right).
- the following properties are involved in determining spring movement: mass, damping, spring stiffness, spring rest length.
- a virtual spring may have different state values based on what the user is doing (e.g., how the user is interacting with the object).
- the spring may ramp from one set of state value to another, instead of cutting, to make animation sequence of the object's movements appear more natural. For example the distance between an edge of the object and the user's finger on the object may be used to determine the tightening of the springs used in the animation or the level of ramping from one set of state values to another.
- a physics engine implements the algorithms that simulate spring movement.
- a number of springs may be attached to an object. For example, if an object is pinched by a user with two fingers, two springs may be attached to the object at the positions corresponding to the fingers pinching the object. As the object moves (e.g., dragged by the user's fingers), its movement follows the paths of the springs, so that the movement of the object is animated based on the physics of the spring movement.
- the algorithm may take into consideration variables such as tension, mass, damping effect, the velocity of the finger's movement, etc. As an example, if the user's finger moves faster, it may cause the object to bounce more.
- the object may bounce less.
- the springs may tighten or loosen depending on where the fingers touch and pinch an object. When the spring is closer to a finger, it may tighten. When the spring is further away from a finger, it may loosen. When the spring tightens (e.g., an image is more folded due to the user's fingers pinching the image moving closer together), there may be less movement on the part of the object. Conversely, when the spring loosens (e.g., an image is less folded due to the user's fingers pinching the image moving further apart), there may be more movement on the part of the object.
- the edges of the image pinched by the two fingers may first unfold or fold pass the fingers' positions, and then bounce and fold or unfold back to find the correction positions of the fingers, and thus the correct degree of unfolding or folding. This allows the image to determine its folding and unfolding degrees in real time.
- the movement of an object may be predicted based on a user's intent. For example, if a user picks up an object and then moves the fingers toward the left side of the screen, the user's intent may be to place the object near the left side of the screen.
- the object's final position may be projected based on the direction as well as the velocity of the user's finger movement (e.g., the position the object may move to in 0.5 seconds time).
- animation of the objects are implemented based on the algorithms implemented in the physical engine. For example, when an object is pinched up, moved to a different position, and then released, the object may bounce around a little. This is implemented as an animation sequence. The bouncing path and characteristics of the movement may be governed by the algorithms implemented in the physics engine.
- the animation of its movements following the user's fingers may be based on spring motions. For example, how much should the image fold or unfold, how much should the image rotate, or how much should the image bounce against the edge of the screen, as the user's fingers move may be determined based on spring motions.
- an image's movements may be simulated by, supposedly, attaching the image to an imaginary spring.
- the supposed force the user's fingers exert on the image may cause the image to have supposed mass.
- an object with mass e.g., an image with supposed mass
- the spring may have properties such as, for example and without limitation, tension, stretch, and dampening. By selecting various values for these properties, different movements of the image may be simulated.
- the object when zooming in on an object, the object increases in size.
- the object When zooming out on an object, the object decreases in size.
- the changing of the object's size may be depicted in an animation sequence, where the movements of the object may be based on spring movements.
- the intermediate positions of the object may be interpolated based on spring movements.
- FIG. 10 illustrates an example electronic device 1000 .
- one or more computer systems 1000 perform one or more steps of one or more methods described or illustrated herein.
- one or more computer systems 1000 provide functionality described or illustrated herein.
- software running on one or more computer systems 1000 performs one or more steps of one or more methods described or illustrated herein or provides functionality described or illustrated herein.
- Particular embodiments include one or more portions of one or more computer systems 1000 .
- computer system 1000 may be an embedded computer system, a system-on-chip (SOC), a single-board computer system (SBC) (such as, for example, a computer-on-module (COM) or system-on-module (SOM)), a desktop computer system, a laptop or notebook computer system, an interactive kiosk, a mainframe, a mesh of computer systems, a mobile telephone, a personal digital assistant (PDA), a server, or a combination of two or more of these.
- SOC system-on-chip
- SBC single-board computer system
- COM computer-on-module
- SOM system-on-module
- computer system 1000 may include one or more computer systems 1000 ; be unitary or distributed; span multiple locations; span multiple machines; or reside in a cloud, which may include one or more cloud components in one or more networks.
- one or more computer systems 1000 may perform without substantial spatial or temporal limitation one or more steps of one or more methods described or illustrated herein.
- one or more computer systems 1000 may perform in real time or in batch mode one or more steps of one or more methods described or illustrated herein.
- One or more computer systems 1000 may perform at different times or at different locations one or more steps of one or more methods described or illustrated herein, where appropriate.
- computer system 1000 includes a processor 1002 , memory 1004 , storage 1006 , an input/output (I/O) interface 1008 , a communication interface 1010 , and a bus 1012 .
- I/O input/output
- this disclosure describes and illustrates a particular computer system having a particular number of particular components in a particular arrangement, this disclosure contemplates any suitable computer system having any suitable number of any suitable components in any suitable arrangement.
- processor 1002 includes hardware for executing instructions, such as those making up a computer program.
- processor 1002 may retrieve (or fetch) the instructions from an internal register, an internal cache, memory 1004 , or storage 1006 ; decode and execute them; and then write one or more results to an internal register, an internal cache, memory 1004 , or storage 1006 .
- processor 1002 may include one or more internal caches for data, instructions, or addresses. This disclosure contemplates processor 1002 including any suitable number of any suitable internal caches, where appropriate.
- processor 1002 may include one or more instruction caches, one or more data caches, and one or more translation lookaside buffers (TLBs). Instructions in the instruction caches may be copies of instructions in memory 1004 or storage 1006 , and the instruction caches may speed up retrieval of those instructions by processor 1002 . Data in the data caches may be copies of data in memory 1004 or storage 1006 for instructions executing at processor 1002 to operate on; the results of previous instructions executed at processor 1002 for access by subsequent instructions executing at processor 1002 or for writing to memory 1004 or storage 1006 ; or other suitable data. The data caches may speed up read or write operations by processor 1002 . The TLBs may speed up virtual-address translation for processor 1002 .
- TLBs translation lookaside buffers
- processor 1002 may include one or more internal registers for data, instructions, or addresses. This disclosure contemplates processor 1002 including any suitable number of any suitable internal registers, where appropriate. Where appropriate, processor 1002 may include one or more arithmetic logic units (ALUs); be a multi-core processor; or include one or more processors 1002 . Although this disclosure describes and illustrates a particular processor, this disclosure contemplates any suitable processor.
- ALUs arithmetic logic units
- memory 1004 includes main memory for storing instructions for processor 1002 to execute or data for processor 1002 to operate on.
- computer system 1000 may load instructions from storage 1006 or another source (such as, for example, another computer system 1000 ) to memory 1004 .
- Processor 1002 may then load the instructions from memory 1004 to an internal register or internal cache.
- processor 1002 may retrieve the instructions from the internal register or internal cache and decode them.
- processor 1002 may write one or more results (which may be intermediate or final results) to the internal register or internal cache.
- Processor 1002 may then write one or more of those results to memory 1004 .
- processor 1002 executes only instructions in one or more internal registers or internal caches or in memory 1004 (as opposed to storage 1006 or elsewhere) and operates only on data in one or more internal registers or internal caches or in memory 1004 (as opposed to storage 1006 or elsewhere).
- One or more memory buses (which may each include an address bus and a data bus) may couple processor 1002 to memory 1004 .
- Bus 1012 may include one or more memory buses, as described below.
- one or more memory management units reside between processor 1002 and memory 1004 and facilitate accesses to memory 1004 requested by processor 1002 .
- memory 1004 includes random access memory (RAM). This RAM may be volatile memory, where appropriate.
- this RAM may be dynamic RAM (DRAM) or static RAM (SRAM). Moreover, where appropriate, this RAM may be single-ported or multi-ported RAM. This disclosure contemplates any suitable RAM.
- Memory 1004 may include one or more memories 1004 , where appropriate. Although this disclosure describes and illustrates particular memory, this disclosure contemplates any suitable memory.
- storage 1006 includes mass storage for data or instructions.
- storage 1006 may include an HDD, a floppy disk drive, flash memory, an optical disc, a magneto-optical disc, magnetic tape, or a Universal Serial Bus (USB) drive or a combination of two or more of these.
- Storage 1006 may include removable or non-removable (or fixed) media, where appropriate.
- Storage 1006 may be internal or external to computer system 1000 , where appropriate.
- storage 1006 is non-volatile, solid-state memory.
- storage 1006 includes read-only memory (ROM).
- this ROM may be mask-programmed ROM, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), electrically alterable ROM (EAROM), or flash memory or a combination of two or more of these.
- This disclosure contemplates mass storage 1006 taking any suitable physical form.
- Storage 1006 may include one or more storage control units facilitating communication between processor 1002 and storage 1006 , where appropriate.
- storage 1006 may include one or more storages 1006 .
- this disclosure describes and illustrates particular storage, this disclosure contemplates any suitable storage.
- I/O interface 1008 includes hardware, software, or both providing one or more interfaces for communication between computer system 1000 and one or more I/O devices.
- Computer system 1000 may include one or more of these I/O devices, where appropriate.
- One or more of these I/O devices may enable communication between a person and computer system 1000 .
- an I/O device may include a keyboard, keypad, microphone, monitor, mouse, printer, scanner, speaker, still camera, stylus, tablet, touch screen, trackball, video camera, another suitable I/O device or a combination of two or more of these.
- An I/O device may include one or more sensors. This disclosure contemplates any suitable I/O devices and any suitable I/O interfaces 1008 for them.
- I/O interface 1008 may include one or more device or software drivers enabling processor 1002 to drive one or more of these I/O devices.
- I/O interface 1008 may include one or more I/O interfaces 1008 , where appropriate. Although this disclosure describes and illustrates a particular I/O interface, this disclosure contemplates any suitable I/O interface.
- communication interface 1010 includes hardware, software, or both providing one or more interfaces for communication (such as, for example, packet-based communication) between computer system 1000 and one or more other computer systems 1000 or one or more networks.
- communication interface 1010 may include a network interface controller (NIC) or network adapter for communicating with an Ethernet or other wire-based network or a wireless NIC (WNIC) or wireless adapter for communicating with a wireless network, such as a WI-FI network.
- NIC network interface controller
- WNIC wireless NIC
- WI-FI network wireless network
- computer system 1000 may communicate with an ad hoc network, a personal area network (PAN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), or one or more portions of the Internet or a combination of two or more of these.
- PAN personal area network
- LAN local area network
- WAN wide area network
- MAN metropolitan area network
- computer system 1000 may communicate with a wireless PAN (WPAN) (such as, for example, a BLUETOOTH WPAN), a WI-FI network, a WI-MAX network, a cellular telephone network (such as, for example, a Global System for Mobile Communications (GSM) network), or other suitable wireless network or a combination of two or more of these.
- Computer system 1000 may include any suitable communication interface 1010 for any of these networks, where appropriate.
- Communication interface 1010 may include one or more communication interfaces 1010 , where appropriate.
- bus 1012 includes hardware, software, or both coupling components of computer system 1000 to each other.
- bus 1012 may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a front-side bus (FSB), a HYPERTRANSPORT (HT) interconnect, an Industry Standard Architecture (ISA) bus, an INFINIBAND interconnect, a low-pin-count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCIe) bus, a serial advanced technology attachment (SATA) bus, a Video Electronics Standards Association local (VLB) bus, or another suitable bus or a combination of two or more of these.
- Bus 1012 may include one or more buses 1012 , where appropriate.
- a computer-readable non-transitory storage medium or media may include one or more semiconductor-based or other integrated circuits (ICs) (such, as for example, field-programmable gate arrays (FPGAs) or application-specific ICs (ASICs)), hard disk drives (HDDs), hybrid hard drives (HHDs), optical discs, optical disc drives (ODDs), magneto-optical discs, magneto-optical drives, floppy diskettes, floppy disk drives (FDDs), magnetic tapes, solid-state drives (SSDs), RAM-drives, SECURE DIGITAL cards or drives, any other suitable computer-readable non-transitory storage medium or media, or any suitable combination of two or more of these, where appropriate.
- ICs semiconductor-based or other integrated circuits
- HDDs hard disk drives
- HHDs hybrid hard drives
- ODDs optical disc drives
- magneto-optical discs magneto-optical drives
- FDDs floppy diskettes
- FDDs floppy disk drives
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Particular embodiments arrange a plurality of objects in a hierarchy, the hierarchy having one or more layers and each layer having at least one of the objects; display a portion of a sequence of first objects on a screen of a user device, the sequence of first objects all belong to a first layer in the hierarchy, each first object having as its children one or more second objects belonging to a second layer immediately below the first layer in the hierarchy; in response to a user scrolling through the sequence of first objects, estimate which specific first object in the sequence the user is likely to be viewing at a predetermined time in the future based on an acceleration of the user scrolling through the sequence of first objects; and preload the second objects that are children of the specific first object.
Description
- This application is a continuation under 35 U.S.C. §120 of U.S. patent application Ser. No. 13/555,876, filed 23 Jul. 2012, which claims the benefit, under 35 U.S.C. §119(e), of U.S. Provisional Patent Application No. 61/593,841, filed on 1 Feb. 2012, all of which are incorporated herein by reference in their entirety and for all purposes.
- This disclosure generally relates to presenting multimedia objects, such as images or videos, in a user interface.
- A user interface (UI), in the industrial design field of human-machine interaction, is the space where interactions between humans and machines occur. The goal of interactions between a human, often referred to as a “user”, and a machine at the user interface is user's control of the machine and its operations (e.g., through user input) and machine feedback (e.g., through program output). A graphical user interface (GUI) is a type of user interface that allows users to interact with software applications executing on electronic or computing devices through multimedia objects (e.g., images, videos, audios, etc.) rather than purely text commands.
-
FIG. 1 illustrates a portion of an example object hierarchy. -
FIGS. 2A-2D illustrate an example of simulating a 3D object on a 2D medium. -
FIGS. 3A-3C illustrate an example of simulating a 3D object on a 2D medium. -
FIG. 4 illustrates an example of simulating a 3D object on a 2D medium. -
FIGS. 5A-5B illustrate an example of simulating a light source in a virtual 3D space. -
FIG. 6 illustrates an example series of pages in an electronic book. -
FIGS. 7A-7D illustrate an example of previewing objects arranged in a series. -
FIGS. 8A-8B illustrate an example of scrolling through a series of objects. -
FIGS. 9A-9C illustrate an example of scrolling through objects in a hierarchy. -
FIG. 10 illustrates an example electronic device. - In particular embodiments, a user interface (UI), and more specifically, a graphical user interface (GUI) may include any number of UI components or elements arranged in a hierarchy. The components of a user interface may be presented to users according to the hierarchical structure. In particular embodiments, some of these UI components may correspond to or represent multimedia objects, such as images, videos, or audios. Sometimes, these multimedia UI components may be presented to users individually on their own. Other times, they may be presented to users while contained in other UI components, such as being included in a window, a panel, or a web page. In particular embodiments, there may be multiple presentations modes for presenting images or videos in a user interface.
- In particular embodiments, a user may interact with a multimedia UI component using a suitable input device (e.g., a finger or stylus on a touch-sensitive screen or a mouse). For example, the user may play or pause a video, or zoom or pan or rotate an image. In particular embodiments, depending on how or where a multimedia UI component is presented to a user (e.g., which presentation mode it is in), the user's interaction with the multimedia UI component may result in different behaviors from the multimedia UI component.
- In particular embodiments, objects may be organized into a hierarchy. For example, objects may be organized into a hierarchy based on how the individual objects are related to each other. The object hierarchy may have any number of levels, and at each level, there may be any number of objects. Parent-child or sibling relationships may exist between specific objects in the hierarchy. Within the hierarchy, a parent object is one level above the level of its child objects. Two sibling objects are at the same level and share the same parent object. In addition, any portion of the hierarchy may also be considered a hierarchy in itself.
-
FIG. 1 illustrates a portion of anexample object hierarchy 100 that includes a number of objects 110. In particular embodiments, an object in a hierarchy may or may not have a parent. If an object does not have a parent, it may be referred to as a “root” object (e.g.,object 110A). In particular embodiments, an object in a hierarchy may or may not have any children. If an object does not have any children, it may be referred to as a “leaf” or “terminal” object (e.g.,object 110B). If an object does have children (e.g.,object 110C), it may have any number of children. In addition, objects sharing the same parent may be referred to as each other's “siblings”. For example, inFIG. 1 ,object 110C is the parent ofobjects Objects object 110C and are siblings to each other. Thus, a hierarchy of objects (e.g., object hierarchy 100) not only includes the individual objects themselves but also indicates the relationships among the specific objects. Moreover, the position of a specific object within the hierarchy may indicate its relationships with other objects in the hierarchy. - Objects may be of any applicable types. In particular embodiments, an object may be a component of a user interface. In this case, the object hierarchy may be a UI hierarchy (e.g., a hierarchy of UI components). In other words, components of a user interface may be organized into a hierarchy. The UI hierarchy may have any number of layers corresponding to the levels of the object hierarchy, and at each layer, there may be any number of UI components. The position of a specific UI component within the hierarchy may indicate its relationships with other UI components in the hierarchy. The UI components may be presented to users according to the hierarchical structure (e.g., in layers). In particular embodiments, some of these UI components may be multimedia objects, such as images, videos, or audios.
- In particular embodiments, an object may correspond to a piece of user-consumable content. In particular embodiments, an object may be consumed by a user if the user may, for example and without limitation, interact with, view, read, listen to, manipulate, or handle the object. For example, some user-consumable objects may be texts, images, videos, audios, feeds, executables (e.g., application programs or games), websites, web pages, digital books, photo albums, posts, or messages. In particular embodiments, user-consumable content, or more specifically, user-consumable objects, may be organized into a hierarchy based on, for example, the relationships among the individual pieces of user-consumable content. Consequently, a hierarchy of user-consumable content may be represented as a hierarchy of objects, where individual objects in the hierarchy may correspond to specific pieces of user-consumable content (e.g., texts, images, videos, audios, executables, etc.). In addition, the structure of the hierarchy indicates the relationships among the specific pieces of user-consumable content.
- In particular embodiments, the relationships among the objects in a hierarchy may correspond to how the objects are organized and presented to users. In particular embodiments, when presenting a hierarchy of objects to a user of a device, the objects may be organized and presented according to the structure of the object hierarchy. More specifically, the objects may be presented in a user interface provided on the device according to the structure of the object hierarchy so that the user interface itself becomes hierarchical as well. Consequently, the user interface may include a number of layers, respectively corresponding to the levels in the object hierarchy. The positions of the objects within the hierarchy are preserved in the user interface, such that a specific object at a specific position in the hierarchy is presented in the corresponding position in the user interface. The relationships among the objects within the hierarchy are maintained in the user interface. In other words, there may be an one-to-one correspondence between an object in the object hierarchy and a UI component in the user interface, such that each object is represented by a UI component.
- As an example, in the context of the desktop of a computing device, the desktop may be a parent object, and sometimes the root object of a hierarchy, whose child objects are the individual software applications available on the desktop. A software application, while itself being one of the child objects of the desktop, is also the parent object of the individual components of that software application. Different software applications may include different components. For example, for a software application that manages digital books (e.g., a book reader application), its components may include the digital books available, the individual chapters of each book, the pages of each chapter, and the texts, images, videos, audios, or any graphical user interface (GUI) or content or media elements on each page. Each of these also corresponds to an object in the hierarchy. More specifically, when these objects are organized in a hierarchy, the book application may be the parent object of the digital books. A digital book may be the parent object of the individual chapters of that book. A chapter, while itself being one of the child objects of the book, is also the parent object of the pages in that chapter. A page is the parent object of the texts, images, videos, audios, or any GUI or content or media elements on that page. A text block, image, video, audio, or GUI or content or media element is one of the child objects of the page to which it belongs. Similarly, for a software application that manages news feeds, its components may include the individual news channels and the news stories within each channel. Each of these may correspond to an object. When these objects are arranged in a hierarchy, the news-feed application, while itself being one of the child objects of the desktop, is also the parent object of the news channels. A news channel in turn is the parent object of the news stories included in that channel. Some of these objects may respectively correspond to UI components of a user interface presented on the computing device.
- As another example, in the context of the Internet or the World Wide Web, the Internet may be a parent object whose child objects are the individual websites. A website, while itself being one of the child objects of the Internet, is also the parent object of the individual web pages of that website. A web page, while itself being one of the child objects of the website to which it belongs, is the parent object of the texts, images, videos, audios, or links (e.g., Uniform Resource Locators (URLs)) included in the web page. Each text block, image, video, audio, or link may also correspond to a specific object in the hierarchy. Some of these objects may respectively correspond to UI components of a web-based user interface that may be presented to a user through a web browser.
- As a third example, a website, such as a social-networking website, may also be arranged in such a hierarchical structure for navigating the content of the social-networking website. In this context, the social-networking website may be a parent object whose child objects are the components (e.g., photo albums, user profile pages, etc.) of the website. For example, a photo album, while itself being a child object of the social-networking website, may in turn be a parent object, and the individual photos within the album may be the child objects of the photo album. A user's profile page may be structured in such a hierarchical fashion as well. The profile page itself may be considered a parent object, and the individual objects on the profile page may be the child objects of the profile page. In particular embodiments, a profile page may be considered and rendered (e.g., for presentation to a user) as a linear timeline of objects, such as, for example and without limitation, photos, photo albums, check-ins, comments from other users, attended events, tags, etc. In particular embodiments, child objects in the hierarchy may also include applications the user has added to the profile page, such as a Spotify music sharing application. Moreover, individual stories, songs the user has listened to, and playlists may be child objects at a lower hierarchical level. In particular embodiments, child objects in the hierarchy may include particular sections of a user's profile, such as the user's education and employment information, or the public “wall” of the user's profile page. This disclosure contemplates representing and addressing any collection of content in a hierarchical object or nodal structure. Again, these objects may respectively correspond to UI components of a web-based user interface that may be presented to a user through a web browser.
- As these examples illustrate, an object may be of any type and this disclosure contemplates any applicable types of objects. For example and without limitation, the term “object” may refer to any type of content, including but not limited to images, videos, captions, text blocks or boxes, user interface elements, URLs, newsfeed stories, references to other objects, advertisements, calendar events, units for displaying open graph analysis that may be graphically rendered, applications, websites, web pages, books, chapters. In particular embodiments, given a hierarchy of objects, which may be a portion of another, larger hierarchy of objects, the hierarchical relationships (e.g., parent-child or sibling relationships, positions of the objects within the hierarchy) between specific objects may direct some aspects of how these objects behave in the context of a user interface or how the objects are presented to a user.
- A hierarchy of objects may be displayed in a user interface that has a corresponding hierarchical structure. In particular embodiments, the user interface may include any number of layers, where each layer corresponds to a specific level of the object hierarchy. In particular embodiments, the lower layers of the user interface correspond to the top levels of the object hierarchy, while the upper layers of the user interface correspond to the bottom levels of the object hierarchy. That is, an object is displayed at a layer in the user interface that is below the layer of its child object and above the layer of its parent object. Since a child object and a parent object are displayed in two separately layers in the user interface, the child object may be considered as “floating” on top of its parent object.
- In particular embodiments, the user interface may be displayed on the screen of an electronic device for presentation to users. In particular embodiments, the screen may be touch sensitive and include a touch-sensitive input. A user may interact with various objects displayed on the screen by touching the screen with his fingers.
- A display device, such as the screen of an electronic device, is a two-dimensional (2D) medium. Nevertheless, three-dimensional (3D) effect may be simulated (e.g., using shadows and perspective techniques) to present and display an 3D object on such 2D medium, similar to painting a 3D object on a 2D canvas. In particular embodiments, a 3D virtual world may be created and 3D objects may be placed in such a virtual world. Shadows may be cast around an object to simulate the 3D effect. The size, shape, orientation, and color of the shadows may depend on, for example and without limitation, the size, shape, orientation, or color of the object, the distance between the object and the light source, and the spatial relationship between the object and the light source. The objects may be projected and displayed onto a 2D medium using applicable perspective techniques.
- As an example,
FIG. 2A illustrates presenting a 3D object in a user interface displayed on a 2D medium and using shadows to simulate the 3D effect. In this case, the user interface is apage 200 of an electronic book. The page may include texts and other multi-media objects, such as image, video, clickable URL, and caption. InFIG. 2A ,image 210 visually floats on top ofpage 200, indicating that users may interact withimage 210 in various manners. In fact, inFIG. 2A , only half of the entire image 210 (e.g., a cropped version) is actually shown asimage 210 lays flat onpage 200. A user may “lift”image 210 up and offpage 200 by pinchingimage 210 with two fingers, as illustrated inFIG. 2B . The two fingers may be placed anywhere near one or more edges ofimage 210. Whenimage 210 is pinched up and off the page, the entire image appears, but folded at an angle relative to the distance between the two fingers the user used to pinch the image. If the user pinches out beyond a predetermined threshold distance and then takes his fingers off the image, the image expands to fill the entire screen. To simulate the effect of a two-dimensional object (e.g., folded image 210) in a three-dimensional virtual space, shadows are placed aroundimage 210. - In particular embodiments, a light source is simulated to cause the effect of shadowing around a floating object. A virtual 3D space may be constructed to encompass the object and the virtual light source. Light is shone on the object (e.g., image 210), causing shadows to be cast around the object on the background (e.g., page 200).
- For example, in the case illustrated in
FIG. 2B , a simulatedlight source 250 may be placed in the center ofpage 200. The shadows aroundimage 210 change depending on the position ofimage 210 in relation to simulatedlight source 250. For example, inFIG. 2C ,image 210 is moved toward the left side of the screen (e.g., near the left edge of page 200). In this case, there is more, darker shadow on the left side ofimage 210 and less, lighter shadow on the right side ofimage 210, as the left side ofimage 210 faces away from simulatedlight source 250 and the right side ofimage 210 faces toward simulatedlight source 250. In addition,image 210 is rotated more toward the left so that there is more of the right half ofimage 210 shown but less of the left half ofimage 210 shown. In contrast, inFIG. 2D ,image 210 is moved toward the right side of the screen (e.g., near the right edge of page 200). In this case, there is more, darker shadow on the right side ofimage 210 and less, lighter shadow on the left side ofimage 210, as the right side ofimage 210 faces away from simulatedlight source 250 and the left side ofimage 210 faces toward simulatedlight source 250. In addition,image 210 is rotated more toward the right so that there is more of the left half ofimage 210 shown but less of the right half ofimage 210 shown. In particular embodiments, when an object (in the example above, image 210) is manipulated (e.g., moved or rotated), other objects, such as text objects, layered below the image is stationary, permitting the user to manipulate the image and read the entire text simultaneously. - Similar shadowing effect may be applied to an image when the image is pinched up and moved toward the top or bottom of the screen. As an example, a
page 300 illustrated inFIG. 3A includes a floatingimage object 310. InFIG. 3A , again,image 310 is displayed on apage 300 of an electronic book. InFIG. 3A ,image 310 lays flat onpage 300 and only a portion ofimage 310 is shown. A user may pinchimage 310 up with two fingers (e.g., by placing the two fingers near the opposite edges of image 310). When this happens,image 310 unfolds partially as described above. InFIG. 3B ,image 310 is brought near the top of the screen. At this position,image 310 is rotated more toward the bottom so that more of the top half ofimage 310 is shown, and there is more shadow on the bottom side ofimage 310 than on the top side ofimage 310. In this example, a simulated light source is placed abovepage 300. In contrast, inFIG. 3C ,image 310 is brought near the bottom of the screen. At this position,image 310 is rotated more toward the top so that more of the bottom half ofimage 310 is shown, and there is more shadow on the top side half ofimage 310 than on the bottom side ofimage 310. - When a floating object is pinched up, it may be moved to different positions on the screen, as illustrated in
FIGS. 2C, 2D, 3B, and 3C . It may also be rotated, as illustrated inFIG. 4 . Here, animage 410 included in apage 400 has been pinched up (e.g., using two fingers) and rotated (e.g., by rotating the fingers pinching image 410). The shadows aroundimage 410 rotate withimage 410 accordingly to maintain the three-dimensional effect. The shape of the shadows may also be adjusted based on the current spatial relationships between the object and the light source. In addition, as illustrated inFIG. 4 , a portion ofimage 420 overlays the text behind it onpage 400. In particular embodiments, when a floating object (e.g., image or video) overlays some text behind it, the appearance of the text may be adjusted to simulate the effect of the shadow casted by the object on the text (e.g., slightly darkened or distorted). In particular embodiments, when an object is picked up (e.g., pinched with two fingers), its size may change with the movement of the two fingers. By moving the two fingers further apart, the object may be enlarged. Conversely, by moving the two fingers closer together, the size of the object may be decreased. - In particular embodiments, when an object is being manipulated by a user (e.g., picked up, rotated, zoomed in or out, etc.), the object itself, not an instance of the object, is manipulated. This ensures the self-consistency of the UI. For example, while a video is being played, the user may manipulate the video object (e.g., pinched down to a thumbnail size or pinched up to full screen). While the video object is being manipulated by the user, the playback of the video continues uninterrupted.
- In particular embodiments, to simulate the effect of picking up an object in the three-dimensional virtual space, when an object is picked up, the object below it is moved backward in the virtual three-dimensional space. As an example, to simulate the effect of
image 210 being “picked up” frompage 200, the size of image 210 (i.e., object) may be increased while the size of page 200 (i.e., background) may be decreased so that it appears as ifimage 210 is moving closer to the user. As another example, whenimage 410 is pinched up,page 400 is moved backward to create the visual effect of a greater distance betweenimage 410 andpage 400, which in turn simulates the effect ofimage 410 being picked up frompage 400. Theshadow image 410 casts onpage 400 increases in size accordingly. - The simulation of the effect of picking up a two-dimensional object in a virtual three-dimensional space is further illustrated in
FIGS. 5A-5B . InFIG. 5A , the distance betweenobjects light source 530 aboveobject 510 causes object 510 to cast ashadow 541 ofobject 510 ontoobject 520. InFIG. 5B ,object 510 has moved away fromobject 520 and closer tolight source 530. The distance betweenobjects Light source 530 again causes object 510 to cast ashadow 542 ofobject 510 ontoobject 520. But becauseobject 510 is now further away fromobject 520,shadow 542 is larger thanshadow 541. Thus, by changing the size of the shadow a first object casts onto a second object, it may stimulate the effect that the first object is moving away from (e.g., increasing shadow size) or moving closer toward the second object (e.g., decreasing shadow size). - In particular embodiments, the shadow of an object (e.g., an image) may be implemented as a separate layer of the user interface. For example, in
FIG. 4 ,image 410 partially overlaps some texts onpage 400. There isshadow 420surrounding image 410. The texts covered byshadow 420 may be darkened accordingly as well. In some implementations, the shadow around an object may be drawn as a blurry dot, sliced up horizontally and vertically, and then stretched up to fill the necessary shadow area. This allows the shadow of an object to be determined without performing ray tracing, which is very computationally intensive and thus resource demanding. - In particular embodiments, when an object is pinched up with two fingers, the size of the object may change depending on the positions of the two fingers. As an example, in
FIG. 2B , the two fingers are placed near the opposite edges ofimage 210. If the two fingers move closer together,image 210 may fold more so that the two edges ofimage 210 move closer together, following the movement of the two fingers. Conversely, if the two fingers move further apart,image 210 may fold less so that the two edges ofimage 210 move further apart, again following the movement of the two fingers. The shadows aroundimage 210 also move (e.g., expand or contract in size) with the edges ofimage 210, following the movement of the two fingers. - In particular embodiments, to render the shadows around an object in a user interface having a hierarchical structure, the object may be rendered on a first layer in the hierarchy while the shadows around the object may be rendered on a second layer, below the first layer, in the hierarchy. In particular embodiments, to simulate the shadows, a dark pixel (e.g., black or dark grey) may be placed behind the object and near the center of the object, and the pixel may be enlarged and blurred until the pixel extends beyond at least some of the edges of the object. In particular embodiments, the color of the pixel may be a gradient, gradually transitioning from light at the edges of the pixel to dark at the center of the pixel, as illustrated in
FIG. 4 . - Sometimes, a collection of objects may be arranged in a series and displayed according to a specific order. Furthermore, due to the size restriction of the display device (e.g., a screen of an electronic device), one object from the series may be displayed at a time. As an example, an electronic book may include many pages. A user may read one page at a time so that one page is displayed on the user's device at a time. Furthermore, the pages are displayed according to a specific order (e.g., the order of the pages in the book).
FIG. 6 illustrates a series ofpages 610 contained in an electronic book. As another example, a photo album may include many photos. A user may view one photo at a time so that one photo is displayed on the user's device at a time. The photos may be displayed according to a specific order (e.g., chronological order). - In particular embodiments, the display device may be a touch screen device. The user may move forward or backward in the series of objects by swiping fingers across the touch screen (e.g., swiping fingers toward the left side of the screen moves toward the end of the series and swiping fingers toward the right side of the screen moves toward the beginning of the series).
- In particular embodiments, when an object in a series is displayed on the screen, the user may preview the object immediately before or after that object in the series. The object currently being displayed may be referred to as the “current object”. As an example, suppose that the pages of an electronic book are displayed one page at a time. In
FIG. 7A , aspecific page 750 from the book is currently displayed, andcurrent page 750 occupies the entire display screen. - If the user wishes to preview the page immediately after
page 750, the user may swipe his fingers across the screen toward the left side of the screen. This may causepage 750 to move toward the left side of the screen corresponding to the movement of the user's fingers. InFIG. 7B , a portion ofpage 750 has moved off the left edge of the screen. The remaining portion ofpage 750 now only occupiers a portion of the display screen (on the left side of the screen). At the same time, a portion ofpage 760, which is the page immediately afterpage 750, has moved onto the screen and is displayed immediately next to and afterpage 750, in the available portion on the right side of the display screen. The user may now previewpage 760. In particular embodiments,page 760 is displayed in a size smaller than that ofpage 750. This visually indicates to the user thatpage 750 is still the current page. In addition, in particular embodiments, ashadow 762 is displayed around page 760 (i.e., the page being previewed). Alternatively,page 760 may be slightly dimmed. This helps the user avoid claustrophobia. - If the user wishes to preview the page immediately before
page 750, the user may swipe his fingers across the screen toward the right side of the screen. This may causepage 750 to move toward the right side of the screen corresponding to the movement of the user's fingers. InFIG. 7C , a portion ofpage 750 has moved off the right edge of the screen. The remaining portion ofpage 750 now only occupiers a portion of the display screen (on the right side of the screen). At the same time, a portion ofpage 740, which is the page immediately beforepage 750, has moved onto the screen and is displayed immediately next to and beforepage 750, in the available portion on the left side of the display screen. The user may now previewpage 740. In particular embodiments, again,page 740 is displayed in a size smaller than that ofpage 750. This visually indicates to the user thatpage 750 is still the current page. In addition, in particular embodiments, ashadow 742 is displayed around page 740 (i.e., the page being previewed). Alternatively,page 740 may be slightly dimmed. This helps the user avoid claustrophobia. - The amount of displacement for
page 750 may correspond to the amount of movements of the user's fingers. The speed of the pages' movements may be the same as the speed of the user's fingers' movements. In particular embodiments, if the user's fingers move across the screen for a distance less than a threshold (e.g., half of the width of the screen), then the page immediately before or after the currently displayed page is shown in its preview mode, as illustrated inFIGS. 7B and 7C . On the other hand, if the user's fingers move across the screen for a distance more than a threshold (e.g., half of the width of the screen), then the currently displayed page becomes the secondary page and the previewed page becomes the primary page. For example, inFIG. 7D , the user's fingers have moved toward the left of the screen sufficiently far such thatpage 750 becomes the secondary page and page 760 (i.e., the page that originally being previewed) becomes the primary page. The size ofpage 750 is now smaller than that ofpage 760. Furthermore, theshadow 752 is now aroundpage 750, instead ofpage 760. At this point, if the user's fingers continue to move toward the left of the screen, eventually,page 750 shall move off the screen completely andpage 760 shall move onto the screen completely.Page 760 is then displayed in its entirety and occupiers the entire screen.Page 760 now becomes the current page. - In particular embodiments, when the user releases the pages by moving his fingers away from the touch screen, if the user's fingers have moved across the screen for a distance less than a threshold, then the preview page is moved off the screen while the current page is moved back into its original position so that the entire current page is displayed and occupies the entire screen. On the other hand, if the user's fingers have moved across the screen for a distance more than a threshold, then the original current page is moved off the screen. Instead, the original preview page is centered on the screen so that the entire preview page is displayed and occupies the entire screen. At this point, the preview page becomes the current page. For example, if the user releases the pages in the situation illustrated in
FIG. 7C , page 740 (the preview page) moves off the screen andpage 750 returns to its original position and occupies the entire screen. On the other hand, if the user releases the pages in the situation illustrated inFIG. 7D ,page 750 moves off the screen and page 760 (the preview page) moves to the center of the screen and is displayed in its entirety and occupies the entire screen.Page 760 is now the current page. - With a collection of objects arranged in a series and displayed according to a specific order, sometimes, the user may also scroll through the objects. Again, the user may swipe his fingers across the screen to move forward or backward along the series. For example, to scroll forward along the series, the user may swipe his fingers toward the left or up side of the screen. Conversely, to scroll backward along the series, the user may swipe his fingers toward the right or down side of the screen.
- When the user is scrolling through a series of objects, at any given time, a portion of the series may be displayed on the screen. For example, an electronic book may include a series of pages, and the user may scroll through these pages. At a particular time, only a few pages in the book are displayed on the screen. An album may include a series of images, and the user may scroll through these images. At a particular time, only a few images in the album are displayed on the screen. As illustrated in
FIG. 8A , objects 810, 820, 830, 840, and 850, which may belong to a series of objects (e.g., pages or images) that include other additional objects, may be displayed on the screen at a particular time. Due to the size limitation of the screen, a portion ofobjects - While the user is looking at the objects displayed on the screen at any given time, the user may focus his attention more on the object near the center of the screen. In particular embodiments, the object near the center of the screen (e.g., object 830) may be visually embellished so that it stands out more to the user.
- For example, as illustrated in
FIG. 8A , object 830 is currently near the center of the screen.Object 830 may be displayed at a size somewhat larger than theother objects object 830 currently near the center of the screen may slightly overlap or be on top ofobjects object 830. In addition, there may be a shadow aroundobject 830. This disclosure contemplates any applicable visual embellishment forobject 830 in order to make it stand out more to the user. In particular embodiments, to makeobject 830 near the center of the screen stand out, the two objects next to it (i.e., objects 820 and 840) may be slightly darkened. - In particular embodiments, the screen may be touch sensitive. The user may swipe his fingers across the screen to scroll through the series of objects. Suppose that the user swipes his fingers toward the left side of the screen so that the user is scrolling toward the back of the series. In this case, objects 810, 820, 830, 840, and 850 may gradually move toward the left (e.g., at the same speed as the user's fingers). As illustrated in
FIG. 8B , object 810 may move completely off the screen whileobject 850 may move completely onto the screen. The object immediately followingobject 850 in the series (i.e., object 860) may gradually become visible. Further more, object 830 is no longer near the center of the screen. Instead, object 840 is now near the center of the screen. - In particular embodiments, the visual embellishment for
object 830 may be removed as it is no longer near the center of the screen.Object 830 is now displayed at the same size as the other objects and there is no shadow aroundobject 830. On the other hand, visual embellishment, such as larger size and shadow, may be applied to object 840 to make it stand out more as it is now near the center of the screen. - In particular embodiments, as the user scroll through a series of objects, at any given time, a portion of the series is displayed on the screen. The particular object that is currently near the center of the screen is visually embellished so that it stands out more. As each object moves near the center of the screen, visually embellishment is applied to that object. As each object moves away from the center of the screen, visual embellishment is removed for that object.
- In particular embodiments, objects may be arranged in a hierarchy and displayed in a user interface that has a corresponding hierarchical structure. For example, components of an electronic book may be arranged and displayed hierarchically. The book itself may be at the top level of the hierarchy. The second level may be the individual sections of the book. The third level may be the individual pages of the book. Each page is the child of the section to which it belongs, and each section is the parent of all the pages in that section.
- When such a book is displayed in a hierarchical user interface, the relationships between the sections and the pages may be maintained. For example, all the sections may form a series of objects, while all the pages may form another series of objects. The sections may be displayed in one layer of the user interface, while the pages may be displayed in another layer, above the section layer, of the user interface. The user may scroll either the sections or the pages.
- In particular embodiments, when the user scrolls through the sections, as the scrolling moves from one section to another section, the pages may be automatically advanced, such that when the user is currently viewing the first section, the pages in the first section are displayed, but when the user is currently viewing the second section, the pages in the second section are displayed. On the other hand, when the user scrolls through the pages, as the scrolling moves from pages of one action to pages of another section, the sections may be automatically advanced, such that when the user is currently viewing the pages of the first section, the first section is displayed, but when the user is currently viewing the pages of the second section, the second section is displayed.
- To further explain this scrolling process, suppose that a user has moved to a specific section of the book by sliding a finger in the left direction across the screen of the electronic device.
FIG. 9A illustrates a section (e.g., the “Introduction” section) of the book. In this view, the first ortitle page 930A of the section is used as thebackground 910 for the entire section. Near the bottom of the screen is a table of contents (TOC)area 920.TOC area 920 includes the individual pages 930 of the current section, shown in thumbnail format and arranged horizontally across the screen of the electronic device. In particular embodiments, each page thumbnail is implemented as an object floating on an imaginary or metaphorical “strip” of paper. The metaphor of objects floating on a strip of paper reflects the nodal hierarchical structure of each section. The background page represents a chapter/section (the parent object), whereas each of the floating objects in the TOC strip is a child object. This disclosure contemplates extension of this concept to any collection of content organized in a hierarchical structure. Thus, a photo album having the aforementioned nodal structure may be rendered as a film strip (parent object) including floating photo thumbnails for each photo contained in the album (child objects). As another example, a user profile or timeline may be represented as an infinite imaginary strip of paper (the parent object) containing a plurality of floating thumbnails representing photo albums, applications, events, etc. (child objects), each of which may contain its own child objects. -
FIG. 9A illustrates a layered arrangement of objects corresponding to an object hierarchy. In this case,background area 910 is the bottom layer.TOC area 920 is another layer positioned on top of the background layer. Pages 930 are a third layer positioned on top of the TOC layer. In an object hierarchy, the background may be the parent of the TOC, and the TOC may be the parent of the pages. - A user may move forward and backward to different pages in the section by sliding a finger in the left or right directions, respectively, across
TOC area 920. Suppose that a user has slide a finger in the left direction acrossTOC area 920. InFIG. 9B , more pages (e.g., pages 930F, 930G, 930H) of the current “Introduction” section appears inTOC area 920. - Similarly, a user may move forward and backward to different sections in the book by sliding a finger in the left or right directions, respectively, either across
background area 910 or acrossTOC area 920. When the user slides a finger acrossTOC area 920, the current section switches to the next section when the user reaches the last page of the current section; or the current section switches to the previous section when the user reaches the first page of the current section.FIG. 9C illustrates the transition between the “Introduction” section and “Chapter 1” of the book. Here, the “Introduction” section is currently being viewed, and “Chapter 1” is the section that immediately follows the “Introduction” section in the book. In one situation, as a user's finger slides in the left direction acrossTOC area 920, eventually the last page of the “Introduction” section is reached. At this point,title page 930A of the “introduction” section displayed inbackground area 910 gradually moves left out of view, in synchronization with the movement of the last few pages of the “Introduction” section. At the same time, thetile page 940A of “Chapter 1” gradually moves left into view to be displayed inbackground area 910, also in synchronization with the movement of the first few pages of “Chapter 1”. Eventually,title page 940A of “Chapter 1” replacestitle page 930A of the “Introduction” section when “Chapter 1” becomes the current section being viewed by the user. In another situation, as a user's finger slides in the left direction acrossbackground area 910,title page 930A of the “Introduction” section gradually moves left out of view, following bytitle page 940A of “Chapter 1”, which gradually moves left into view to be displayed inbackground area 910, effectively replacingtitle page 930A of the “Introduction” section. In synchronization with the movement oftitle pages Chapter 1” gradually move left into view inTOC area 920. As illustrated inFIG. 9C , at the point oftransition 950 between the two sections, the right or left edge of the title page inbackground area 910 lines up with the right or left edge of the last or first page, respectively, of the corresponding section inTOC area 920. The transition between a current section and a section immediately before the current section behaves similarly, with the exception that instead of moving in the left direction across the screen of the electronic device, objects move in the right direction. - When the user is scrolling through objects in a hierarchy, as the user's fingers swipe across the screen, particular embodiments may estimate which specific object the user will view at a predetermined time in the future (e.g., 0.2 seconds in the future) based on the velocity or acceleration of the finger movements. For example, as the user is scrolling through a series of sections in a book, where each section may include a number of pages, particular embodiments may estimate which section the user will view 0.5 seconds in the future. As the user is scrolling through a series of photo albums, where each album may include a number of photos, particular embodiments may estimate which album the user will view 0.4 seconds in the future. This may enable the device to preload (e.g., download or render) the pages in that section or the photos in that album so that when the user is ready to view the pages or photos, they are already available and ready. In other words, as the user is scrolling through objects at a specific level of the hierarchy, particular embodiments may estimate which object the user will view at a predetermined time in the future. Then the child objects of that object may be preloaded so that they are ready for the user. For example, the child objects may be downloaded from a server or rendered on the user's device.
- In particular embodiments, as the user swipes his fingers across the screen to scroll through a series of object, the velocity of the finger movements may be detected. The acceleration of the finger movements may be computed based on the velocity. The estimation may be based on the acceleration. For example, higher acceleration may suggest that the user will view an object further away from the object currently being displayed on the screen while lower acceleration may suggest that the user will view an object closer to the object currently being displayed on the screen at the predetermined time in the future.
- In particular embodiments, the vector of the user's touch input, or its derivative vector, may be utilized to ascertain whether a user wishes to browse other objects on the same hierarchical level as the current object, or the child objects of the current object. For example, if a user is swiping through a series of photo album objects on a profile page in a social networking website, the touch input vector may have a high velocity, or, even more tellingly, a high acceleration. Such an input may signal to the application that the user wishes to browse other photo albums, and the application may begin downloading photo album thumbnails based on the magnitude of acceleration or velocity of the input vector. For example, if a user swipes from the ith album at a high velocity or acceleration, the application may load thumbnails for the (i+10)th album, whereas if a user swipes slowly from the ith album, the application may load thumbnails for the (i+1)th album. Conversely, if there is no velocity or acceleration to the input vector (i.e., no swiping input), the application may begin to download the child objects (individual photos) of the currently viewed album cover. In the context of a digital book, content elements may be pre-drawn and loaded into a buffer based on where the user has scrolled; the digital book application extrapolates from the user's screen size to determine the size and contents of the buffer.
- In particular embodiments, movements of an object displayed in a user interface on a screen may be simulated based on spring movement. As the user interacts with the object, the object may move around the screen. This may be shown as animated sequences depicting the object's movements. For example, as the user picks up an object by pinching the object with two fingers, the object may move with the user's fingers. If the use releases the object, the object may return to its original position. The user may throw the object against the edge of the screen, causing the object to bounce around the screen.
- In particular embodiments, movements of the object may be simulated by attaching one end of a virtual spring to the object and another end of the virtual spring to a position on the screen (e.g., the original position of the object, the center of the screen, a corner of the screen, or an edge of the screen). Any number of virtual springs may be attached to an object. In particular embodiments, the movements of the object may be determined based on Hooke's law: F=−kx; where x is the displacement of the spring's end from it's equilibrium position (e.g., a distance, in SI units: meters), F is the restoring force exerted by the spring on that end (in SI units: N or kg·m/s2), and k is a constant called the rate or spring constant (in SI units: N/m or kg/s2). When this equation holds, the behavior is said to be linear. The negative sign on the right hand side of the equation is there because the restoring force always acts in the opposite direction of the displacement (e.g., when a spring is stretched to the left, it pulls back to the right). In general, the following properties are involved in determining spring movement: mass, damping, spring stiffness, spring rest length. In some implementations, a virtual mass may be assigned to the object.
- In particular embodiments, a virtual spring may have different state values based on what the user is doing (e.g., how the user is interacting with the object). The spring may ramp from one set of state value to another, instead of cutting, to make animation sequence of the object's movements appear more natural. For example the distance between an edge of the object and the user's finger on the object may be used to determine the tightening of the springs used in the animation or the level of ramping from one set of state values to another.
- In particular embodiments, a physics engine implements the algorithms that simulate spring movement. A number of springs may be attached to an object. For example, if an object is pinched by a user with two fingers, two springs may be attached to the object at the positions corresponding to the fingers pinching the object. As the object moves (e.g., dragged by the user's fingers), its movement follows the paths of the springs, so that the movement of the object is animated based on the physics of the spring movement. In particular embodiments, the algorithm may take into consideration variables such as tension, mass, damping effect, the velocity of the finger's movement, etc. As an example, if the user's finger moves faster, it may cause the object to bounce more. Conversely, if the user's finger moves slower, the object may bounce less. As another example, the springs may tighten or loosen depending on where the fingers touch and pinch an object. When the spring is closer to a finger, it may tighten. When the spring is further away from a finger, it may loosen. When the spring tightens (e.g., an image is more folded due to the user's fingers pinching the image moving closer together), there may be less movement on the part of the object. Conversely, when the spring loosens (e.g., an image is less folded due to the user's fingers pinching the image moving further apart), there may be more movement on the part of the object. In some implementations, when two fingers pinching an image move apart to unfold the image or move close to fold the image, the edges of the image pinched by the two fingers may first unfold or fold pass the fingers' positions, and then bounce and fold or unfold back to find the correction positions of the fingers, and thus the correct degree of unfolding or folding. This allows the image to determine its folding and unfolding degrees in real time.
- In particular embodiments, the movement of an object may be predicted based on a user's intent. For example, if a user picks up an object and then moves the fingers toward the left side of the screen, the user's intent may be to place the object near the left side of the screen. The object's final position may be projected based on the direction as well as the velocity of the user's finger movement (e.g., the position the object may move to in 0.5 seconds time).
- In particular embodiments, animation of the objects are implemented based on the algorithms implemented in the physical engine. For example, when an object is pinched up, moved to a different position, and then released, the object may bounce around a little. This is implemented as an animation sequence. The bouncing path and characteristics of the movement may be governed by the algorithms implemented in the physics engine.
- In particular embodiments, when an image is picked up, the animation of its movements following the user's fingers may be based on spring motions. For example, how much should the image fold or unfold, how much should the image rotate, or how much should the image bounce against the edge of the screen, as the user's fingers move may be determined based on spring motions. In particular embodiments, an image's movements may be simulated by, supposedly, attaching the image to an imaginary spring. When the user's fingers pick up the image, the supposed force the user's fingers exert on the image may cause the image to have supposed mass. When an object with mass (e.g., an image with supposed mass) is attached to a spring, its movements may follow specific physical properties. In addition to the mass, the spring may have properties such as, for example and without limitation, tension, stretch, and dampening. By selecting various values for these properties, different movements of the image may be simulated.
- In particular embodiments, when zooming in on an object, the object increases in size. When zooming out on an object, the object decreases in size. The changing of the object's size may be depicted in an animation sequence, where the movements of the object may be based on spring movements.
- In particular embodiments, as an object moves towards its final destination, the intermediate positions of the object may be interpolated based on spring movements.
- Particular embodiments may be implemented on one or more electronic devices or computer systems. For example, the user interface may be displayed on the screen of such an electronic device.
FIG. 10 illustrates an exampleelectronic device 1000. In particular embodiments, one ormore computer systems 1000 perform one or more steps of one or more methods described or illustrated herein. In particular embodiments, one ormore computer systems 1000 provide functionality described or illustrated herein. In particular embodiments, software running on one ormore computer systems 1000 performs one or more steps of one or more methods described or illustrated herein or provides functionality described or illustrated herein. Particular embodiments include one or more portions of one ormore computer systems 1000. - This disclosure contemplates any suitable number of
computer systems 1000. This disclosure contemplatescomputer system 1000 taking any suitable physical form. As example and not by way of limitation,computer system 1000 may be an embedded computer system, a system-on-chip (SOC), a single-board computer system (SBC) (such as, for example, a computer-on-module (COM) or system-on-module (SOM)), a desktop computer system, a laptop or notebook computer system, an interactive kiosk, a mainframe, a mesh of computer systems, a mobile telephone, a personal digital assistant (PDA), a server, or a combination of two or more of these. Where appropriate,computer system 1000 may include one ormore computer systems 1000; be unitary or distributed; span multiple locations; span multiple machines; or reside in a cloud, which may include one or more cloud components in one or more networks. Where appropriate, one ormore computer systems 1000 may perform without substantial spatial or temporal limitation one or more steps of one or more methods described or illustrated herein. As an example and not by way of limitation, one ormore computer systems 1000 may perform in real time or in batch mode one or more steps of one or more methods described or illustrated herein. One ormore computer systems 1000 may perform at different times or at different locations one or more steps of one or more methods described or illustrated herein, where appropriate. - In particular embodiments,
computer system 1000 includes aprocessor 1002,memory 1004,storage 1006, an input/output (I/O)interface 1008, acommunication interface 1010, and abus 1012. Although this disclosure describes and illustrates a particular computer system having a particular number of particular components in a particular arrangement, this disclosure contemplates any suitable computer system having any suitable number of any suitable components in any suitable arrangement. - In particular embodiments,
processor 1002 includes hardware for executing instructions, such as those making up a computer program. As an example and not by way of limitation, to execute instructions,processor 1002 may retrieve (or fetch) the instructions from an internal register, an internal cache,memory 1004, orstorage 1006; decode and execute them; and then write one or more results to an internal register, an internal cache,memory 1004, orstorage 1006. In particular embodiments,processor 1002 may include one or more internal caches for data, instructions, or addresses. This disclosure contemplatesprocessor 1002 including any suitable number of any suitable internal caches, where appropriate. As an example and not by way of limitation,processor 1002 may include one or more instruction caches, one or more data caches, and one or more translation lookaside buffers (TLBs). Instructions in the instruction caches may be copies of instructions inmemory 1004 orstorage 1006, and the instruction caches may speed up retrieval of those instructions byprocessor 1002. Data in the data caches may be copies of data inmemory 1004 orstorage 1006 for instructions executing atprocessor 1002 to operate on; the results of previous instructions executed atprocessor 1002 for access by subsequent instructions executing atprocessor 1002 or for writing tomemory 1004 orstorage 1006; or other suitable data. The data caches may speed up read or write operations byprocessor 1002. The TLBs may speed up virtual-address translation forprocessor 1002. In particular embodiments,processor 1002 may include one or more internal registers for data, instructions, or addresses. This disclosure contemplatesprocessor 1002 including any suitable number of any suitable internal registers, where appropriate. Where appropriate,processor 1002 may include one or more arithmetic logic units (ALUs); be a multi-core processor; or include one ormore processors 1002. Although this disclosure describes and illustrates a particular processor, this disclosure contemplates any suitable processor. - In particular embodiments,
memory 1004 includes main memory for storing instructions forprocessor 1002 to execute or data forprocessor 1002 to operate on. As an example and not by way of limitation,computer system 1000 may load instructions fromstorage 1006 or another source (such as, for example, another computer system 1000) tomemory 1004.Processor 1002 may then load the instructions frommemory 1004 to an internal register or internal cache. To execute the instructions,processor 1002 may retrieve the instructions from the internal register or internal cache and decode them. During or after execution of the instructions,processor 1002 may write one or more results (which may be intermediate or final results) to the internal register or internal cache.Processor 1002 may then write one or more of those results tomemory 1004. In particular embodiments,processor 1002 executes only instructions in one or more internal registers or internal caches or in memory 1004 (as opposed tostorage 1006 or elsewhere) and operates only on data in one or more internal registers or internal caches or in memory 1004 (as opposed tostorage 1006 or elsewhere). One or more memory buses (which may each include an address bus and a data bus) may coupleprocessor 1002 tomemory 1004.Bus 1012 may include one or more memory buses, as described below. In particular embodiments, one or more memory management units (MMUs) reside betweenprocessor 1002 andmemory 1004 and facilitate accesses tomemory 1004 requested byprocessor 1002. In particular embodiments,memory 1004 includes random access memory (RAM). This RAM may be volatile memory, where appropriate. Where appropriate, this RAM may be dynamic RAM (DRAM) or static RAM (SRAM). Moreover, where appropriate, this RAM may be single-ported or multi-ported RAM. This disclosure contemplates any suitable RAM.Memory 1004 may include one ormore memories 1004, where appropriate. Although this disclosure describes and illustrates particular memory, this disclosure contemplates any suitable memory. - In particular embodiments,
storage 1006 includes mass storage for data or instructions. As an example and not by way of limitation,storage 1006 may include an HDD, a floppy disk drive, flash memory, an optical disc, a magneto-optical disc, magnetic tape, or a Universal Serial Bus (USB) drive or a combination of two or more of these.Storage 1006 may include removable or non-removable (or fixed) media, where appropriate.Storage 1006 may be internal or external tocomputer system 1000, where appropriate. In particular embodiments,storage 1006 is non-volatile, solid-state memory. In particular embodiments,storage 1006 includes read-only memory (ROM). Where appropriate, this ROM may be mask-programmed ROM, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), electrically alterable ROM (EAROM), or flash memory or a combination of two or more of these. This disclosure contemplatesmass storage 1006 taking any suitable physical form.Storage 1006 may include one or more storage control units facilitating communication betweenprocessor 1002 andstorage 1006, where appropriate. Where appropriate,storage 1006 may include one ormore storages 1006. Although this disclosure describes and illustrates particular storage, this disclosure contemplates any suitable storage. - In particular embodiments, I/
O interface 1008 includes hardware, software, or both providing one or more interfaces for communication betweencomputer system 1000 and one or more I/O devices.Computer system 1000 may include one or more of these I/O devices, where appropriate. One or more of these I/O devices may enable communication between a person andcomputer system 1000. As an example and not by way of limitation, an I/O device may include a keyboard, keypad, microphone, monitor, mouse, printer, scanner, speaker, still camera, stylus, tablet, touch screen, trackball, video camera, another suitable I/O device or a combination of two or more of these. An I/O device may include one or more sensors. This disclosure contemplates any suitable I/O devices and any suitable I/O interfaces 1008 for them. Where appropriate, I/O interface 1008 may include one or more device or softwaredrivers enabling processor 1002 to drive one or more of these I/O devices. I/O interface 1008 may include one or more I/O interfaces 1008, where appropriate. Although this disclosure describes and illustrates a particular I/O interface, this disclosure contemplates any suitable I/O interface. - In particular embodiments,
communication interface 1010 includes hardware, software, or both providing one or more interfaces for communication (such as, for example, packet-based communication) betweencomputer system 1000 and one or moreother computer systems 1000 or one or more networks. As an example and not by way of limitation,communication interface 1010 may include a network interface controller (NIC) or network adapter for communicating with an Ethernet or other wire-based network or a wireless NIC (WNIC) or wireless adapter for communicating with a wireless network, such as a WI-FI network. This disclosure contemplates any suitable network and anysuitable communication interface 1010 for it. As an example and not by way of limitation,computer system 1000 may communicate with an ad hoc network, a personal area network (PAN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), or one or more portions of the Internet or a combination of two or more of these. One or more portions of one or more of these networks may be wired or wireless. As an example,computer system 1000 may communicate with a wireless PAN (WPAN) (such as, for example, a BLUETOOTH WPAN), a WI-FI network, a WI-MAX network, a cellular telephone network (such as, for example, a Global System for Mobile Communications (GSM) network), or other suitable wireless network or a combination of two or more of these.Computer system 1000 may include anysuitable communication interface 1010 for any of these networks, where appropriate.Communication interface 1010 may include one ormore communication interfaces 1010, where appropriate. Although this disclosure describes and illustrates a particular communication interface, this disclosure contemplates any suitable communication interface. - In particular embodiments,
bus 1012 includes hardware, software, or both coupling components ofcomputer system 1000 to each other. As an example and not by way of limitation,bus 1012 may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a front-side bus (FSB), a HYPERTRANSPORT (HT) interconnect, an Industry Standard Architecture (ISA) bus, an INFINIBAND interconnect, a low-pin-count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCIe) bus, a serial advanced technology attachment (SATA) bus, a Video Electronics Standards Association local (VLB) bus, or another suitable bus or a combination of two or more of these.Bus 1012 may include one ormore buses 1012, where appropriate. Although this disclosure describes and illustrates a particular bus, this disclosure contemplates any suitable bus or interconnect. - Herein, a computer-readable non-transitory storage medium or media may include one or more semiconductor-based or other integrated circuits (ICs) (such, as for example, field-programmable gate arrays (FPGAs) or application-specific ICs (ASICs)), hard disk drives (HDDs), hybrid hard drives (HHDs), optical discs, optical disc drives (ODDs), magneto-optical discs, magneto-optical drives, floppy diskettes, floppy disk drives (FDDs), magnetic tapes, solid-state drives (SSDs), RAM-drives, SECURE DIGITAL cards or drives, any other suitable computer-readable non-transitory storage medium or media, or any suitable combination of two or more of these, where appropriate. A computer-readable non-transitory storage medium or media may be volatile, non-volatile, or a combination of volatile and non-volatile, where appropriate.
- Herein, “or” is inclusive and not exclusive, unless expressly indicated otherwise or indicated otherwise by context. Therefore, herein, “A or B” means “A, B, or both,” unless expressly indicated otherwise or indicated otherwise by context. Moreover, “and” is both joint and several, unless expressly indicated otherwise or indicated otherwise by context. Therefore, herein, “A and B” means “A and B, jointly or severally,” unless expressly indicated otherwise or indicated otherwise by context.
- This disclosure encompasses all changes, substitutions, variations, alterations, and modifications to the example embodiments herein that a person having ordinary skill in the art would comprehend. Moreover, reference in the appended claims to an apparatus or system or a component of an apparatus or system being adapted to, arranged to, capable of, configured to, enabled to, operable to, or operative to perform a particular function encompasses that apparatus, system, component, whether or not it or that particular function is activated, turned on, or unlocked, as long as that apparatus, system, or component is so adapted, arranged, capable, configured, enabled, operable, or operative.
Claims (20)
1. A computer-implemented method comprising:
arranging a plurality of objects in a hierarchy, the hierarchy having one or more layers and each layer having at least one of the objects;
displaying a portion of a sequence of first objects on a screen of a user device, the sequence of first objects all belong to a first layer in the hierarchy, each first object having as its children one or more second objects belonging to a second layer immediately below the first layer in the hierarchy;
in response to a user scrolling through the sequence of first objects, estimating which specific first object in the sequence the user is likely to be viewing at a predetermined time in the future based on an acceleration of the user scrolling through the sequence of first objects; and
preloading the second objects that are children of the specific first object.
2. The computer-implemented method of claim 1 , wherein:
the user scrolls through the sequence of first objects by swiping across the screen of the user device; and
the acceleration of the user scrolling is determined based on a speed the user swipes across the screen of the user device.
3. The computer-implemented method of claim 1 , wherein when the user scrolls through the sequence of first objects at a higher acceleration, the specific first object in the sequence the user is likely to be viewing at the predetermined time in the future is further, in position, from the portion of the sequence of first objects currently displayed on the screen of the user device.
4. The computer-implemented method of claim 1 , wherein when the user scrolls through the sequence of first objects at a lower acceleration, the specific first object in the sequence the user is likely to be viewing at the predetermined time in the future is closer, in position, to the portion of the sequence of first objects currently displayed on the screen of the user device.
5. The computer-implemented method of claim 1 , wherein preloading the second objects that are children of the specific first object comprises downloading the second objects from a remote device to the user device.
6. The computer-implemented method of claim 1 , wherein preloading the second objects that are children of the specific first object comprises rendering the second objects for display.
7. The computer-implemented method of claim 1 , wherein each first object is a photo album and each second object is a photo belonging to a specific photo album.
8. The computer-implemented method of claim 1 , wherein each first object is a section of a digital book and each second object is a page belonging to a specific section.
9. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
arrange a plurality of objects in a hierarchy, the hierarchy having one or more layers and each layer having at least one of the objects;
display a portion of a sequence of first objects on a screen of a user device, the sequence of first objects all belong to a first layer in the hierarchy, each first object having as its children one or more second objects belonging to a second layer immediately below the first layer in the hierarchy;
in response to a user scrolling through the sequence of first objects, estimate which specific first object in the sequence the user is likely to be viewing at a predetermined time in the future based on an acceleration of the user scrolling through the sequence of first objects; and
preload the second objects that are children of the specific first object.
10. The media of claim 9 , wherein:
the user scrolls through the sequence of first objects by swiping across the screen of the user device; and
the acceleration of the user scrolling is determined based on a speed the user swipes across the screen of the user device.
11. The media of claim 9 , wherein when the user scrolls through the sequence of first objects at a higher acceleration, the specific first object in the sequence the user is likely to be viewing at the predetermined time in the future is further, in position, from the portion of the sequence of first objects currently displayed on the screen of the user device.
12. The media of claim 9 , wherein when the user scrolls through the sequence of first objects at a lower acceleration, the specific first object in the sequence the user is likely to be viewing at the predetermined time in the future is closer, in position, to the portion of the sequence of first objects currently displayed on the screen of the user device.
13. The media of claim 9 , wherein preload the second objects that are children of the specific first object comprises download the second objects from a remote device to the user device.
14. The media of claim 9 , wherein preload the second objects that are children of the specific first object comprises render the second objects for display.
15. A system comprising:
one or more processors; and
a memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:
arrange a plurality of objects in a hierarchy, the hierarchy having one or more layers and each layer having at least one of the objects;
display a portion of a sequence of first objects on a screen of a user device, the sequence of first objects all belong to a first layer in the hierarchy, each first object having as its children one or more second objects belonging to a second layer immediately below the first layer in the hierarchy;
in response to a user scrolling through the sequence of first objects, estimate which specific first object in the sequence the user is likely to be viewing at a predetermined time in the future based on an acceleration of the user scrolling through the sequence of first objects; and
preload the second objects that are children of the specific first object.
16. The system of claim 15 , wherein:
the user scrolls through the sequence of first objects by swiping across the screen of the user device; and
the acceleration of the user scrolling is determined based on a speed the user swipes across the screen of the user device.
17. The system of claim 15 , wherein when the user scrolls through the sequence of first objects at a higher acceleration, the specific first object in the sequence the user is likely to be viewing at the predetermined time in the future is further, in position, from the portion of the sequence of first objects currently displayed on the screen of the user device.
18. The system of claim 15 , wherein when the user scrolls through the sequence of first objects at a lower acceleration, the specific first object in the sequence the user is likely to be viewing at the predetermined time in the future is closer, in position, to the portion of the sequence of first objects currently displayed on the screen of the user device.
19. The system of claim 15 , wherein preload the second objects that are children of the specific first object comprises download the second objects from a remote device to the user device.
20. The system of claim 15 , wherein preload the second objects that are children of the specific first object comprises render the second objects for display.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/470,652 US20170199641A1 (en) | 2012-02-01 | 2017-03-27 | User Intent During Object Scrolling |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261593841P | 2012-02-01 | 2012-02-01 | |
US13/555,876 US9606708B2 (en) | 2012-02-01 | 2012-07-23 | User intent during object scrolling |
US15/470,652 US20170199641A1 (en) | 2012-02-01 | 2017-03-27 | User Intent During Object Scrolling |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/555,876 Continuation US9606708B2 (en) | 2012-02-01 | 2012-07-23 | User intent during object scrolling |
Publications (1)
Publication Number | Publication Date |
---|---|
US20170199641A1 true US20170199641A1 (en) | 2017-07-13 |
Family
ID=48869809
Family Applications (22)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/487,805 Active US9552147B2 (en) | 2012-02-01 | 2012-06-04 | Hierarchical user interface |
US13/488,076 Expired - Fee Related US9235318B2 (en) | 2012-02-01 | 2012-06-04 | Transitions among hierarchical user-interface layers |
US13/487,765 Active US9235317B2 (en) | 2012-02-01 | 2012-06-04 | Summary and navigation of hierarchical levels |
US13/488,039 Active 2032-08-11 US9229613B2 (en) | 2012-02-01 | 2012-06-04 | Transitions among hierarchical user interface components |
US13/489,265 Active 2032-08-08 US8984428B2 (en) | 2012-02-01 | 2012-06-05 | Overlay images and texts in user interface |
US13/489,172 Abandoned US20130198261A1 (en) | 2012-02-01 | 2012-06-05 | Intelligent Downloading and Rendering of Content |
US13/490,343 Active 2032-10-18 US8990691B2 (en) | 2012-02-01 | 2012-06-06 | Video object behavior in a user interface |
US13/490,367 Abandoned US20130198668A1 (en) | 2012-02-01 | 2012-06-06 | Image Object Behavior in a User Interface |
US13/491,100 Active 2032-12-10 US9239662B2 (en) | 2012-02-01 | 2012-06-07 | User interface editor |
US13/490,736 Active 2032-09-24 US9003305B2 (en) | 2012-02-01 | 2012-06-07 | Folding and unfolding images in a user interface |
US13/555,657 Active 2033-04-19 US8990719B2 (en) | 2012-02-01 | 2012-07-23 | Preview of objects arranged in a series |
US13/555,607 Active 2033-03-21 US9007371B2 (en) | 2012-02-01 | 2012-07-23 | Three-dimensional shadows cast by objects |
US13/555,845 Active 2032-08-24 US8976199B2 (en) | 2012-02-01 | 2012-07-23 | Visual embellishment for objects |
US13/555,909 Expired - Fee Related US9098168B2 (en) | 2012-02-01 | 2012-07-23 | Spring motions during object animation |
US13/555,876 Active 2033-02-14 US9606708B2 (en) | 2012-02-01 | 2012-07-23 | User intent during object scrolling |
US14/569,475 Abandoned US20150100924A1 (en) | 2012-02-01 | 2014-12-12 | Folding and unfolding images in a user interface |
US14/572,405 Active 2033-12-24 US10775991B2 (en) | 2012-02-01 | 2014-12-16 | Overlay images and texts in user interface |
US14/961,227 Active 2034-03-27 US10613733B2 (en) | 2012-02-01 | 2015-12-07 | User interface editor |
US15/412,347 Abandoned US20170131889A1 (en) | 2012-02-01 | 2017-01-23 | Hierarchical User Interface |
US15/421,725 Abandoned US20170192661A1 (en) | 2012-02-01 | 2017-02-01 | Presenting Image Objects in a User Interface |
US15/470,652 Abandoned US20170199641A1 (en) | 2012-02-01 | 2017-03-27 | User Intent During Object Scrolling |
US16/824,893 Active US11132118B2 (en) | 2012-02-01 | 2020-03-20 | User interface editor |
Family Applications Before (20)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/487,805 Active US9552147B2 (en) | 2012-02-01 | 2012-06-04 | Hierarchical user interface |
US13/488,076 Expired - Fee Related US9235318B2 (en) | 2012-02-01 | 2012-06-04 | Transitions among hierarchical user-interface layers |
US13/487,765 Active US9235317B2 (en) | 2012-02-01 | 2012-06-04 | Summary and navigation of hierarchical levels |
US13/488,039 Active 2032-08-11 US9229613B2 (en) | 2012-02-01 | 2012-06-04 | Transitions among hierarchical user interface components |
US13/489,265 Active 2032-08-08 US8984428B2 (en) | 2012-02-01 | 2012-06-05 | Overlay images and texts in user interface |
US13/489,172 Abandoned US20130198261A1 (en) | 2012-02-01 | 2012-06-05 | Intelligent Downloading and Rendering of Content |
US13/490,343 Active 2032-10-18 US8990691B2 (en) | 2012-02-01 | 2012-06-06 | Video object behavior in a user interface |
US13/490,367 Abandoned US20130198668A1 (en) | 2012-02-01 | 2012-06-06 | Image Object Behavior in a User Interface |
US13/491,100 Active 2032-12-10 US9239662B2 (en) | 2012-02-01 | 2012-06-07 | User interface editor |
US13/490,736 Active 2032-09-24 US9003305B2 (en) | 2012-02-01 | 2012-06-07 | Folding and unfolding images in a user interface |
US13/555,657 Active 2033-04-19 US8990719B2 (en) | 2012-02-01 | 2012-07-23 | Preview of objects arranged in a series |
US13/555,607 Active 2033-03-21 US9007371B2 (en) | 2012-02-01 | 2012-07-23 | Three-dimensional shadows cast by objects |
US13/555,845 Active 2032-08-24 US8976199B2 (en) | 2012-02-01 | 2012-07-23 | Visual embellishment for objects |
US13/555,909 Expired - Fee Related US9098168B2 (en) | 2012-02-01 | 2012-07-23 | Spring motions during object animation |
US13/555,876 Active 2033-02-14 US9606708B2 (en) | 2012-02-01 | 2012-07-23 | User intent during object scrolling |
US14/569,475 Abandoned US20150100924A1 (en) | 2012-02-01 | 2014-12-12 | Folding and unfolding images in a user interface |
US14/572,405 Active 2033-12-24 US10775991B2 (en) | 2012-02-01 | 2014-12-16 | Overlay images and texts in user interface |
US14/961,227 Active 2034-03-27 US10613733B2 (en) | 2012-02-01 | 2015-12-07 | User interface editor |
US15/412,347 Abandoned US20170131889A1 (en) | 2012-02-01 | 2017-01-23 | Hierarchical User Interface |
US15/421,725 Abandoned US20170192661A1 (en) | 2012-02-01 | 2017-02-01 | Presenting Image Objects in a User Interface |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/824,893 Active US11132118B2 (en) | 2012-02-01 | 2020-03-20 | User interface editor |
Country Status (1)
Country | Link |
---|---|
US (22) | US9552147B2 (en) |
Families Citing this family (197)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7920152B2 (en) | 2004-11-04 | 2011-04-05 | Dr Systems, Inc. | Systems and methods for viewing medical 3D imaging volumes |
US7885440B2 (en) | 2004-11-04 | 2011-02-08 | Dr Systems, Inc. | Systems and methods for interleaving series of medical images |
US7787672B2 (en) | 2004-11-04 | 2010-08-31 | Dr Systems, Inc. | Systems and methods for matching, naming, and displaying medical images |
US7660488B2 (en) | 2004-11-04 | 2010-02-09 | Dr Systems, Inc. | Systems and methods for viewing medical images |
US7970625B2 (en) | 2004-11-04 | 2011-06-28 | Dr Systems, Inc. | Systems and methods for retrieval of medical data |
US7953614B1 (en) | 2006-11-22 | 2011-05-31 | Dr Systems, Inc. | Smart placement rules |
US8380533B2 (en) | 2008-11-19 | 2013-02-19 | DR Systems Inc. | System and method of providing dynamic and customizable medical examination forms |
US8712120B1 (en) | 2009-09-28 | 2014-04-29 | Dr Systems, Inc. | Rules-based approach to transferring and/or viewing medical images |
EP3882750A1 (en) * | 2010-01-20 | 2021-09-22 | Nokia Technologies Oy | User input |
US9396167B2 (en) | 2011-07-21 | 2016-07-19 | Flipboard, Inc. | Template-based page layout for hosted social magazines |
US9092727B1 (en) | 2011-08-11 | 2015-07-28 | D.R. Systems, Inc. | Exam type mapping |
US9323440B2 (en) * | 2011-12-16 | 2016-04-26 | International Business Machines Corporation | Scroll focus |
US9557876B2 (en) | 2012-02-01 | 2017-01-31 | Facebook, Inc. | Hierarchical user interface |
US9645724B2 (en) | 2012-02-01 | 2017-05-09 | Facebook, Inc. | Timeline based content organization |
US9552147B2 (en) | 2012-02-01 | 2017-01-24 | Facebook, Inc. | Hierarchical user interface |
TWI470481B (en) * | 2012-02-24 | 2015-01-21 | Lg Electronics Inc | Mobile terminal and control method for the mobile terminal |
US11847300B2 (en) * | 2012-03-12 | 2023-12-19 | Comcast Cable Communications, Llc | Electronic information hierarchy |
US9733813B2 (en) * | 2012-04-05 | 2017-08-15 | Isotropix | Device for processing information |
US20130321313A1 (en) * | 2012-05-31 | 2013-12-05 | Htc Corporation | Method, apparatus and computer program product for cropping screen frame |
US9626381B2 (en) * | 2012-06-19 | 2017-04-18 | International Business Machines Corporation | Photo album creation based on social media content |
US9508102B2 (en) * | 2012-07-25 | 2016-11-29 | Facebook, Inc. | Methods and systems for tracking of user interactions with content in social networks |
KR102004409B1 (en) | 2012-08-23 | 2019-07-29 | 삼성전자주식회사 | Flexible display apparatus and contorlling method thereof |
US8907914B2 (en) * | 2012-08-31 | 2014-12-09 | General Electric Company | Methods and apparatus for documenting a procedure |
US9397844B2 (en) | 2012-09-11 | 2016-07-19 | Apple Inc. | Automated graphical user-interface layout |
CN102929508B (en) * | 2012-10-11 | 2015-04-01 | 中兴通讯股份有限公司 | Touch method and device for electronic map |
US20140109012A1 (en) * | 2012-10-16 | 2014-04-17 | Microsoft Corporation | Thumbnail and document map based navigation in a document |
JP6081769B2 (en) * | 2012-10-23 | 2017-02-15 | 任天堂株式会社 | Program, information processing apparatus, information processing method, and information processing system |
JP2014086836A (en) * | 2012-10-23 | 2014-05-12 | Canon Inc | Image processing apparatus, control method, and program |
KR101990035B1 (en) * | 2012-10-31 | 2019-06-18 | 엘지전자 주식회사 | Mobile terminal and control method for the mobile terminal |
US9591339B1 (en) | 2012-11-27 | 2017-03-07 | Apple Inc. | Agnostic media delivery system |
US9774917B1 (en) | 2012-12-10 | 2017-09-26 | Apple Inc. | Channel bar user interface |
US10200761B1 (en) | 2012-12-13 | 2019-02-05 | Apple Inc. | TV side bar user interface |
US20140173466A1 (en) * | 2012-12-14 | 2014-06-19 | Microsoft Corporation | Transitions within views of conversation environments |
US9532111B1 (en) | 2012-12-18 | 2016-12-27 | Apple Inc. | Devices and method for providing remote control hints on a display |
CN103893971B (en) | 2012-12-25 | 2015-05-27 | 腾讯科技(深圳)有限公司 | Game sound effect generating method and client |
US10521188B1 (en) | 2012-12-31 | 2019-12-31 | Apple Inc. | Multi-user TV user interface |
USD768659S1 (en) * | 2013-01-04 | 2016-10-11 | Level 3 Communications, Llc | Display screen or portion thereof with graphical user interface |
US9495604B1 (en) | 2013-01-09 | 2016-11-15 | D.R. Systems, Inc. | Intelligent management of computerized advanced processing |
US10175873B2 (en) * | 2013-01-21 | 2019-01-08 | Salesforce.Com, Inc. | System and method for retrieving data based on scrolling velocity |
US9361278B2 (en) * | 2013-03-15 | 2016-06-07 | Facebook, Inc. | Overlaying photographs with text on a social networking system |
US20140280783A1 (en) * | 2013-03-15 | 2014-09-18 | Haixiang He | Method and Apparatus for Improving Downloading Performance Based on Reading Intent for Digital Magazine |
US9785240B2 (en) * | 2013-03-18 | 2017-10-10 | Fuji Xerox Co., Ltd. | Systems and methods for content-aware selection |
CN105122200A (en) * | 2013-03-29 | 2015-12-02 | 惠普发展公司,有限责任合伙企业 | Adjustable timeline user interface |
US10341275B2 (en) | 2013-04-03 | 2019-07-02 | Dropbox, Inc. | Shared content item commenting |
KR102048041B1 (en) * | 2013-04-18 | 2019-11-22 | 삼성전자주식회사 | Electronic device and method for generating split screen image |
US20140351723A1 (en) * | 2013-05-23 | 2014-11-27 | Kobo Incorporated | System and method for a multimedia container |
US9965153B2 (en) * | 2013-06-21 | 2018-05-08 | Oracle International Corporation | Configuring and displaying multidimensional data using two or more correlated interactive screen interfaces |
US9529790B2 (en) | 2013-07-09 | 2016-12-27 | Flipboard, Inc. | Hierarchical page templates for content presentation in a digital magazine |
US9565233B1 (en) * | 2013-08-09 | 2017-02-07 | Google Inc. | Preloading content for requesting applications |
US9823824B2 (en) * | 2013-08-19 | 2017-11-21 | Kodak Alaris Inc. | Context sensitive adaptable user interface |
EP2846243B1 (en) * | 2013-09-04 | 2019-08-14 | Matthias Rath | Graphical user interface providing virtual super-zoom functionality |
US20150067582A1 (en) * | 2013-09-05 | 2015-03-05 | Storehouse Media, Inc. | Content navigation structure and transition mechanism |
US9530243B1 (en) * | 2013-09-24 | 2016-12-27 | Amazon Technologies, Inc. | Generating virtual shadows for displayable elements |
US9224237B2 (en) | 2013-09-27 | 2015-12-29 | Amazon Technologies, Inc. | Simulating three-dimensional views using planes of content |
US9367203B1 (en) * | 2013-10-04 | 2016-06-14 | Amazon Technologies, Inc. | User interface techniques for simulating three-dimensional depth |
US9892550B2 (en) * | 2013-10-08 | 2018-02-13 | Here Global B.V. | Photorealistic rendering of scenes with dynamic content |
US20150106722A1 (en) * | 2013-10-14 | 2015-04-16 | Apple Inc. | Navigating Image Presentations |
US10482070B2 (en) * | 2013-11-12 | 2019-11-19 | Salesforce.Com, Inc. | Form field creation systems and methods |
CN103593111A (en) * | 2013-11-14 | 2014-02-19 | 三星电子(中国)研发中心 | Screen sharing method for mobile terminals and mobile terminals |
US9519525B2 (en) * | 2013-11-14 | 2016-12-13 | Dropbox, Inc. | File-level commenting |
US10067651B2 (en) * | 2013-11-15 | 2018-09-04 | Thomson Reuters Global Resources Unlimited Company | Navigable layering of viewable areas for hierarchical content |
JP6213177B2 (en) * | 2013-11-18 | 2017-10-18 | 株式会社リコー | Display processing apparatus and display processing method |
WO2015093806A1 (en) | 2013-12-19 | 2015-06-25 | Samsung Electronics Co., Ltd. | Display apparatus and method of displaying image by display apparatus |
KR102308879B1 (en) * | 2013-12-19 | 2021-10-06 | 삼성전자주식회사 | Display apparatus and method for displaying a screen |
CN103729140A (en) * | 2013-12-20 | 2014-04-16 | 天津光电通信技术有限公司 | Method for implementing interaction on human-machine interfaces on basis of DRM (data rights management) |
US9952756B2 (en) | 2014-01-17 | 2018-04-24 | Intel Corporation | Dynamic adjustment of a user interface |
KR101538576B1 (en) * | 2014-02-10 | 2015-07-22 | 한국과학기술원 | Structure aware navigation method using space and structure mapping between input device and digital data |
US10303324B2 (en) * | 2014-02-10 | 2019-05-28 | Samsung Electronics Co., Ltd. | Electronic device configured to display three dimensional (3D) virtual space and method of controlling the electronic device |
US10157593B2 (en) | 2014-02-24 | 2018-12-18 | Microsoft Technology Licensing, Llc | Cross-platform rendering engine |
US20150250294A1 (en) * | 2014-03-04 | 2015-09-10 | Rebecca Miller | Systems and methods for previewing beauty cosmetic applications using an electronic device |
KR102228856B1 (en) * | 2014-03-20 | 2021-03-17 | 엘지전자 주식회사 | Mobile terminal and method for controlling the same |
US20150277677A1 (en) * | 2014-03-26 | 2015-10-01 | Kobo Incorporated | Information presentation techniques for digital content |
US20150277678A1 (en) * | 2014-03-26 | 2015-10-01 | Kobo Incorporated | Information presentation techniques for digital content |
US20150312375A1 (en) * | 2014-04-25 | 2015-10-29 | Microsoft Corporation | Pre-fetching grid blocks by user intent |
CN103957458B (en) * | 2014-04-28 | 2018-06-15 | 京东方科技集团股份有限公司 | Video play device, control device, audio/video player system and control method |
US9569062B2 (en) * | 2014-05-21 | 2017-02-14 | Facebook, Inc. | Asynchronous execution of animation tasks for a GUI |
CN104978119B (en) * | 2014-05-22 | 2019-11-22 | 腾讯科技(深圳)有限公司 | A kind of messagewindow display methods, device and user terminal |
US20150339841A1 (en) * | 2014-05-22 | 2015-11-26 | Microsoft Corporation | Layout animation panel |
TWD173248S (en) * | 2014-06-11 | 2016-01-21 | 樂視致新電子科技(天津)有限公司; | Display screen graphical user interface |
US9648062B2 (en) * | 2014-06-12 | 2017-05-09 | Apple Inc. | Systems and methods for multitasking on an electronic device with a touch-sensitive display |
US9785340B2 (en) | 2014-06-12 | 2017-10-10 | Apple Inc. | Systems and methods for efficiently navigating between applications with linked content on an electronic device with a touch-sensitive display |
CN115269086A (en) * | 2014-06-12 | 2022-11-01 | 苹果公司 | System and method for multitasking on an electronic device with a touch-sensitive display |
US9576393B1 (en) * | 2014-06-18 | 2017-02-21 | Amazon Technologies, Inc. | Dynamic rendering of soft shadows for interface elements |
US9886565B2 (en) * | 2014-06-20 | 2018-02-06 | Microsoft Technology Licensing, Llc | User-specific visualization of display elements |
JP6482578B2 (en) | 2014-06-24 | 2019-03-13 | アップル インコーポレイテッドApple Inc. | Column interface for navigating in the user interface |
AU2015279949B2 (en) | 2014-06-24 | 2018-05-10 | Apple Inc. | Input device and user interface interactions |
US9979894B1 (en) | 2014-06-27 | 2018-05-22 | Google Llc | Modifying images with simulated light sources |
US9081421B1 (en) * | 2014-06-30 | 2015-07-14 | Linkedin Corporation | User interface for presenting heterogeneous content |
US20160019718A1 (en) * | 2014-07-16 | 2016-01-21 | Wipro Limited | Method and system for providing visual feedback in a virtual reality environment |
US9898804B2 (en) * | 2014-07-16 | 2018-02-20 | Samsung Electronics Co., Ltd. | Display driver apparatus and method of driving display |
US8954521B1 (en) * | 2014-07-22 | 2015-02-10 | Google Inc. | Management and presentation of notification content |
US9874992B2 (en) * | 2014-08-18 | 2018-01-23 | Lenovo (Singapore) Pte. Ltd. | Preview pane for touch input devices |
US9965452B2 (en) | 2014-09-04 | 2018-05-08 | Home Box Office, Inc. | Pre-children in a user interface tree |
EP3002666A1 (en) * | 2014-10-02 | 2016-04-06 | Huawei Technologies Co., Ltd. | Interaction method for user interfaces |
US10476937B2 (en) * | 2014-10-20 | 2019-11-12 | Facebook, Inc. | Animation for image elements in a display layout |
CN107077046A (en) * | 2014-10-20 | 2017-08-18 | 肖特玻璃科技(苏州)有限公司 | Optical system for camera model, the camera model with optical system and the method for manufacturing optical system |
USD759706S1 (en) * | 2015-01-20 | 2016-06-21 | Microsoft Corporation | Display screen with animated graphical user interface |
USD771692S1 (en) * | 2015-01-20 | 2016-11-15 | Microsoft Corporation | Display screen with animated graphical user interface |
USD769306S1 (en) * | 2015-01-20 | 2016-10-18 | Microsoft Corporation | Display screen with animated graphical user interface |
USD770520S1 (en) * | 2015-01-20 | 2016-11-01 | Microsoft Corporation | Display screen with animated graphical user interface |
USD769308S1 (en) | 2015-01-20 | 2016-10-18 | Microsoft Corporation | Display screen with animated graphical user interface |
US9596393B2 (en) * | 2015-01-27 | 2017-03-14 | Moment Inc | Smart case for mobile photography |
US11107038B2 (en) | 2015-02-03 | 2021-08-31 | PEOZZLE Corporation | Multimedia resume distribution system |
DE102015102639A1 (en) * | 2015-02-24 | 2016-08-25 | Emporia Telecom Gmbh & Co Kg | Method for operating a mobile terminal, application for a mobile terminal and mobile terminal |
US9727797B2 (en) * | 2015-03-05 | 2017-08-08 | International Business Machines Corporation | Techniques for rotating language preferred orientation on a mobile device |
CN104699842B (en) * | 2015-03-31 | 2019-03-26 | 百度在线网络技术(北京)有限公司 | Picture display method and device |
US10691323B2 (en) * | 2015-04-10 | 2020-06-23 | Apple Inc. | Column fit document traversal for reader application |
US10275148B2 (en) * | 2015-04-21 | 2019-04-30 | Facebook, Inc. | Methods and systems for transitioning between native content and web content |
US20170046483A1 (en) * | 2015-04-30 | 2017-02-16 | D.R. Systems, Inc. | Database systems and interactive user interfaces for dynamic interaction with, and comparison of, digital medical image data |
USD767613S1 (en) * | 2015-05-01 | 2016-09-27 | Microsoft Corporation | Display screen with animated graphical user interface |
USD766296S1 (en) * | 2015-05-01 | 2016-09-13 | Microsoft Corporation | Display screen with animated graphical user interface |
US20160328127A1 (en) * | 2015-05-05 | 2016-11-10 | Facebook, Inc. | Methods and Systems for Viewing Embedded Videos |
US10042532B2 (en) * | 2015-05-05 | 2018-08-07 | Facebook, Inc. | Methods and systems for viewing embedded content |
US20160334969A1 (en) * | 2015-05-11 | 2016-11-17 | Facebook, Inc. | Methods and Systems for Viewing an Associated Location of an Image |
US10685471B2 (en) * | 2015-05-11 | 2020-06-16 | Facebook, Inc. | Methods and systems for playing video while transitioning from a content-item preview to the content item |
US11113022B2 (en) | 2015-05-12 | 2021-09-07 | D&M Holdings, Inc. | Method, system and interface for controlling a subwoofer in a networked audio system |
US11209972B2 (en) * | 2015-09-02 | 2021-12-28 | D&M Holdings, Inc. | Combined tablet screen drag-and-drop interface |
CN104933746B (en) * | 2015-05-21 | 2018-03-23 | 广东欧珀移动通信有限公司 | A kind of method and device that dynamic shadow is set for plane picture |
US20160371872A1 (en) * | 2015-06-18 | 2016-12-22 | Facebook, Inc. | Systems and methods for providing transitions between content interfaces |
US9886086B2 (en) * | 2015-08-21 | 2018-02-06 | Verizon Patent And Licensing Inc. | Gesture-based reorientation and navigation of a virtual reality (VR) interface |
US9904452B2 (en) * | 2015-08-25 | 2018-02-27 | Sap Se | Building user specific user interface instances |
US9766713B2 (en) * | 2015-09-08 | 2017-09-19 | Unity IPR ApS | System and method for providing user interface tools |
US10939167B2 (en) * | 2015-09-15 | 2021-03-02 | Piksel, Inc | Dynamic resource allocation of multimedia content based on usage patterns |
CN105338399A (en) * | 2015-10-29 | 2016-02-17 | 小米科技有限责任公司 | Image acquisition method and device |
US9990349B2 (en) | 2015-11-02 | 2018-06-05 | Microsoft Technology Licensing, Llc | Streaming data associated with cells in spreadsheets |
US20170124043A1 (en) | 2015-11-02 | 2017-05-04 | Microsoft Technology Licensing, Llc | Sound associated with cells in spreadsheets |
US10585943B2 (en) | 2015-11-24 | 2020-03-10 | Cisco Technology, Inc. | Network-wide, location-independent object identifiers for high-performance distributed graph databases |
US20180152622A1 (en) * | 2015-12-01 | 2018-05-31 | Huizhou Tcl Mobile Communication Co., Ltd | Mobile terminal-based photographing method and mobile terminal |
US10430051B2 (en) * | 2015-12-29 | 2019-10-01 | Facebook, Inc. | Multi-user content presentation system |
CN105488761B (en) * | 2015-12-29 | 2019-03-26 | 北京金山安全软件有限公司 | Processing method and device for spliced pictures |
US10616662B2 (en) * | 2016-02-10 | 2020-04-07 | Disney Enterprises, Inc. | Systems and methods to provide video and control signals over an internet protocol communications network |
US10788966B2 (en) | 2016-02-10 | 2020-09-29 | Disney Enterprises, Inc. | Systems and methods for interacting with a virtual interface |
US10755360B1 (en) * | 2016-02-16 | 2020-08-25 | Wells Fargo Bank, N.A. | Receipt capture with goal encouragement |
US10691880B2 (en) | 2016-03-29 | 2020-06-23 | Microsoft Technology Licensing, Llc | Ink in an electronic document |
US10496419B2 (en) * | 2016-06-10 | 2019-12-03 | Apple Inc. | Editing inherited configurations |
DK201670581A1 (en) | 2016-06-12 | 2018-01-08 | Apple Inc | Device-level authorization for viewing content |
DK201670582A1 (en) | 2016-06-12 | 2018-01-02 | Apple Inc | Identifying applications on which content is available |
US9916225B1 (en) * | 2016-06-23 | 2018-03-13 | VCE IP Holding Company LLC | Computer implemented system and method and computer program product for testing a software component by simulating a computing component using captured network packet information |
US10546013B2 (en) * | 2016-07-18 | 2020-01-28 | Joshua Fagans | File management system facilitating the organization of content by using visualizations of the organizational state augmented by a configurable workflow |
US10225655B1 (en) * | 2016-07-29 | 2019-03-05 | Relay Cars LLC | Stereo user interface elements placed in 3D space for virtual reality applications in head mounted displays |
JP6812170B2 (en) * | 2016-08-29 | 2021-01-13 | キヤノン株式会社 | Information processing device, its control method, and control program |
CN106445116B (en) * | 2016-08-31 | 2020-10-27 | 维沃移动通信有限公司 | Method for calling out message notification bar and mobile terminal |
US10055871B2 (en) | 2016-10-12 | 2018-08-21 | International Business Machines Corporation | Applying an image overlay to an image based on relationship of the people identified in the image |
AT519289B1 (en) * | 2016-10-17 | 2018-08-15 | Wolfinger Gerd | Security device for burglary prevention |
US11966560B2 (en) | 2016-10-26 | 2024-04-23 | Apple Inc. | User interfaces for browsing content from multiple content applications on an electronic device |
CN108108194B (en) * | 2016-11-24 | 2020-12-04 | 腾讯科技(深圳)有限公司 | User interface editing method and user interface editor |
US11087512B2 (en) | 2017-01-13 | 2021-08-10 | Flir Systems, Inc. | High visibility overlay systems and methods |
US11302041B2 (en) | 2017-01-13 | 2022-04-12 | Teledyne Flir, Llc | High visibility overlay systems and methods |
US10152815B2 (en) | 2017-01-17 | 2018-12-11 | Opentv, Inc. | Overlay emphasis modification in augmented reality displays |
US10235788B2 (en) | 2017-01-17 | 2019-03-19 | Opentv, Inc. | Overlay contrast control in augmented reality displays |
JP6594359B2 (en) | 2017-01-31 | 2019-10-23 | キヤノン株式会社 | Information processing apparatus, information processing method, and program |
US11416900B1 (en) * | 2017-02-24 | 2022-08-16 | Eugene E. Haba, Jr. | Dynamically generated items for user generated graphic user storytelling interface |
US10649640B2 (en) | 2017-05-02 | 2020-05-12 | Microsoft Technology Licensing, Llc | Personalizing perceivability settings of graphical user interfaces of computers |
WO2018208047A1 (en) | 2017-05-09 | 2018-11-15 | Samsung Electronics Co., Ltd. | Method and system for managing and displaying application |
US10755030B2 (en) * | 2017-06-29 | 2020-08-25 | Salesforce.Com, Inc. | Color theme maintenance for presentations |
US10573051B2 (en) | 2017-08-16 | 2020-02-25 | Google Llc | Dynamically generated interface transitions |
DK179931B1 (en) * | 2017-09-09 | 2019-10-11 | Apple Inc. | Devices, methods and graphical user interfaces for displaying an affordance on a background |
US10592091B2 (en) | 2017-10-17 | 2020-03-17 | Microsoft Technology Licensing, Llc | Drag and drop of objects to create new composites |
US11397511B1 (en) * | 2017-10-18 | 2022-07-26 | Nationwide Mutual Insurance Company | System and method for implementing improved user interface |
US10824800B2 (en) | 2017-11-10 | 2020-11-03 | Think Research Corporation | System and method for designing and editing computerized electronic data-entry forms |
JP7119408B2 (en) * | 2018-02-15 | 2022-08-17 | コニカミノルタ株式会社 | Image processing device, screen handling method, and computer program |
US10824401B2 (en) * | 2018-04-30 | 2020-11-03 | MphasiS Limited | Method and system for automated creation of graphical user interfaces |
CN111712787B (en) * | 2018-05-21 | 2022-03-08 | 华为技术有限公司 | Display control method and terminal |
DK201870354A1 (en) | 2018-06-03 | 2019-12-20 | Apple Inc. | Setup procedures for an electronic device |
US11966578B2 (en) | 2018-06-03 | 2024-04-23 | Apple Inc. | Devices and methods for integrating video with user interface navigation |
US11354581B2 (en) | 2018-06-27 | 2022-06-07 | Microsoft Technology Licensing, Llc | AI-driven human-computer interface for presenting activity-specific views of activity-specific content for multiple activities |
US11449764B2 (en) * | 2018-06-27 | 2022-09-20 | Microsoft Technology Licensing, Llc | AI-synthesized application for presenting activity-specific UI of activity-specific content |
US10990421B2 (en) | 2018-06-27 | 2021-04-27 | Microsoft Technology Licensing, Llc | AI-driven human-computer interface for associating low-level content with high-level activities using topics as an abstraction |
CN109407944A (en) * | 2018-09-29 | 2019-03-01 | 传线网络科技(上海)有限公司 | Multimedia resource plays adjusting method and device |
US10936156B2 (en) | 2018-11-05 | 2021-03-02 | International Business Machines Corporation | Interactive access to ascendants while navigating hierarchical dimensions |
US10635413B1 (en) * | 2018-12-05 | 2020-04-28 | Bank Of America Corporation | System for transforming using interface image segments and constructing user interface objects |
US10678521B1 (en) | 2018-12-05 | 2020-06-09 | Bank Of America Corporation | System for image segmentation, transformation and user interface component construction |
US10705687B1 (en) * | 2019-01-10 | 2020-07-07 | Pearson Education, Inc. | Visually indicating on a user interface lengths, types of content, structure and current user location within a corpus of electronic content |
USD918254S1 (en) | 2019-01-10 | 2021-05-04 | Pearson Education, Inc. | Display screen with graphical user interface |
JP7289661B2 (en) * | 2019-01-31 | 2023-06-12 | キヤノン株式会社 | Information processing device, control method, and its program |
EP3928526A1 (en) | 2019-03-24 | 2021-12-29 | Apple Inc. | User interfaces for viewing and accessing content on an electronic device |
US11683565B2 (en) | 2019-03-24 | 2023-06-20 | Apple Inc. | User interfaces for interacting with channels that provide content that plays in a media browsing application |
US11445263B2 (en) | 2019-03-24 | 2022-09-13 | Apple Inc. | User interfaces including selectable representations of content items |
EP3928228A1 (en) | 2019-03-24 | 2021-12-29 | Apple Inc. | User interfaces for a media browsing application |
US11797606B2 (en) | 2019-05-31 | 2023-10-24 | Apple Inc. | User interfaces for a podcast browsing and playback application |
US11863837B2 (en) | 2019-05-31 | 2024-01-02 | Apple Inc. | Notification of augmented reality content on an electronic device |
CN110489041B (en) * | 2019-07-12 | 2021-04-06 | 北京字节跳动网络技术有限公司 | Method, device, equipment and medium for automatically aligning small program dragging elements |
US11004254B2 (en) * | 2019-07-25 | 2021-05-11 | Nvidia Corporation | Performance of ray-traced shadow creation within a scene |
US11620696B2 (en) | 2020-01-03 | 2023-04-04 | International Business Machines Corporation | Dynamic order prioritization enablement |
CN111309415B (en) * | 2020-01-17 | 2024-01-02 | 北京有竹居网络技术有限公司 | User Interface (UI) information processing method and device of application program and electronic equipment |
JP2021124863A (en) * | 2020-02-04 | 2021-08-30 | 富士フイルムビジネスイノベーション株式会社 | Information processing device and computer program |
US11843838B2 (en) | 2020-03-24 | 2023-12-12 | Apple Inc. | User interfaces for accessing episodes of a content series |
US11474793B2 (en) | 2020-05-22 | 2022-10-18 | Salesforce.Com, Inc. | Polymorphic application architecture |
US11899895B2 (en) | 2020-06-21 | 2024-02-13 | Apple Inc. | User interfaces for setting up an electronic device |
US11698776B2 (en) * | 2020-07-24 | 2023-07-11 | Unity Technologies Sf | Method and system for processing computer code |
US11687714B2 (en) * | 2020-08-20 | 2023-06-27 | Adobe Inc. | Systems and methods for generating text descriptive of digital images |
US20220138206A1 (en) * | 2020-10-30 | 2022-05-05 | Snowflake Inc. | System for implementing an object tagging framework |
US11720229B2 (en) | 2020-12-07 | 2023-08-08 | Apple Inc. | User interfaces for browsing and presenting content |
US11934640B2 (en) | 2021-01-29 | 2024-03-19 | Apple Inc. | User interfaces for record labels |
JP7120364B1 (en) * | 2021-03-15 | 2022-08-17 | 富士フイルムビジネスイノベーション株式会社 | Information processing device and program |
US12061863B2 (en) * | 2021-04-23 | 2024-08-13 | Samsung Electronics Co., Ltd. | Electronic device, and method for placing text-linked object in electronic device |
CN117836749A (en) * | 2021-08-31 | 2024-04-05 | 三星电子株式会社 | Electronic device for performing a function matching a graphical affordance and method of operating an electronic device |
Family Cites Families (232)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0181619B1 (en) | 1984-11-12 | 1993-10-13 | Advantest Corporation | Logic analyzer |
US5948040A (en) * | 1994-06-24 | 1999-09-07 | Delorme Publishing Co. | Travel reservation information and planning system |
US7467137B1 (en) | 1994-09-02 | 2008-12-16 | Wolfe Mark A | System and method for information retrieval employing a preloading procedure |
JP3698273B2 (en) | 1995-07-20 | 2005-09-21 | ソニー株式会社 | Electronic program guide transmission apparatus and method, electronic program guide reception apparatus and method, and electronic program guide transmission / reception system and method |
US7124359B2 (en) | 1996-01-11 | 2006-10-17 | Canon Kabushiki Kaisha | Image edit device adapted to rapidly lay-out photographs into templates with means for preview and correction by user |
US5933525A (en) * | 1996-04-10 | 1999-08-03 | Bbn Corporation | Language-independent and segmentation-free optical character recognition system and method |
US5727129A (en) | 1996-06-04 | 1998-03-10 | International Business Machines Corporation | Network system for profiling and actively facilitating user activities |
US6562077B2 (en) | 1997-11-14 | 2003-05-13 | Xerox Corporation | Sorting image segments into clusters based on a distance measurement |
JP4183311B2 (en) | 1997-12-22 | 2008-11-19 | 株式会社リコー | Document annotation method, annotation device, and recording medium |
US6408128B1 (en) * | 1998-11-12 | 2002-06-18 | Max Abecassis | Replaying with supplementary information a segment of a video |
US7469381B2 (en) | 2007-01-07 | 2008-12-23 | Apple Inc. | List scrolling and document translation, scaling, and rotation on a touch-screen display |
US6847388B2 (en) | 1999-05-13 | 2005-01-25 | Flashpoint Technology, Inc. | Method and system for accelerating a user interface of an image capture unit during play mode |
US6421071B1 (en) | 1999-06-10 | 2002-07-16 | Lucent Technologies Inc. | Synchronous scrolling of time stamped log files |
US8397177B2 (en) * | 1999-07-22 | 2013-03-12 | Tavusi Data Solutions Llc | Graphic-information flow method and system for visually analyzing patterns and relationships |
US20010030667A1 (en) | 2000-04-10 | 2001-10-18 | Kelts Brett R. | Interactive display interface for information objects |
US20050055426A1 (en) | 2000-06-12 | 2005-03-10 | Kim Smith | System, method and computer program product that pre-caches content to provide timely information to a user |
US7002583B2 (en) | 2000-08-03 | 2006-02-21 | Stono Technologies, Llc | Display of images and image transitions |
WO2002012990A2 (en) | 2000-08-04 | 2002-02-14 | Copan Inc. | Method and system for presenting digital media |
US6934740B1 (en) | 2000-09-19 | 2005-08-23 | 3Com Corporation | Method and apparatus for sharing common data objects among multiple applications in a client device |
US20030046401A1 (en) | 2000-10-16 | 2003-03-06 | Abbott Kenneth H. | Dynamically determing appropriate computer user interfaces |
US20070226640A1 (en) | 2000-11-15 | 2007-09-27 | Holbrook David M | Apparatus and methods for organizing and/or presenting data |
US7181684B2 (en) | 2000-12-12 | 2007-02-20 | Oracle International Corporation | Dynamic tree control system |
US8166381B2 (en) | 2000-12-20 | 2012-04-24 | Heart Imaging Technologies, Llc | Medical image management system |
US7139982B2 (en) | 2000-12-21 | 2006-11-21 | Xerox Corporation | Navigation methods, systems, and computer program products for virtual three-dimensional books |
US20080060020A1 (en) * | 2000-12-22 | 2008-03-06 | Hillcrest Laboratories, Inc. | Methods and systems for semantic zooming |
US6985913B2 (en) * | 2000-12-28 | 2006-01-10 | Casio Computer Co. Ltd. | Electronic book data delivery apparatus, electronic book device and recording medium |
US6868528B2 (en) | 2001-06-15 | 2005-03-15 | Microsoft Corporation | Systems and methods for creating and displaying a user interface for displaying hierarchical data |
US7039879B2 (en) | 2001-06-28 | 2006-05-02 | Nokia Corporation | Method and apparatus for scrollable cross-point navigation in a user interface |
US20030046693A1 (en) | 2001-08-29 | 2003-03-06 | Digeo, Inc. | System and method for focused navigation within an interactive television user interface |
US7439975B2 (en) | 2001-09-27 | 2008-10-21 | International Business Machines Corporation | Method and system for producing dynamically determined drop shadows in a three-dimensional graphical user interface |
US7480864B2 (en) | 2001-10-12 | 2009-01-20 | Canon Kabushiki Kaisha | Zoom editor |
US6940497B2 (en) * | 2001-10-16 | 2005-09-06 | Hewlett-Packard Development Company, L.P. | Portable electronic reading apparatus |
US7312785B2 (en) | 2001-10-22 | 2007-12-25 | Apple Inc. | Method and apparatus for accelerated scrolling |
US20030093545A1 (en) * | 2001-11-14 | 2003-05-15 | Inventec Tomorrow Work Studio Corporation, Taiwan | Method and system for downloading data to portable electronic device |
US8635531B2 (en) | 2002-02-21 | 2014-01-21 | Ricoh Company, Ltd. | Techniques for displaying information stored in multiple multimedia documents |
US8539344B2 (en) | 2001-11-19 | 2013-09-17 | Ricoh Company, Ltd. | Paper-based interface for multimedia information stored by multiple multimedia documents |
US6948125B2 (en) | 2002-04-25 | 2005-09-20 | International Business Machines Corporation | Computer controlled user interactive display interface implementation for tracking the organization of items in a hierarchical tree of nested categories |
JP4082937B2 (en) | 2002-06-07 | 2008-04-30 | 任天堂株式会社 | GAME SYSTEM AND GAME PROGRAM |
US7181227B2 (en) * | 2002-06-14 | 2007-02-20 | Cingular Wireless Ii, Llc | Data structures and methods for location-based services within a wireless network |
US7441047B2 (en) | 2002-06-17 | 2008-10-21 | Microsoft Corporation | Device specific pagination of dynamically rendered data |
US20040001106A1 (en) | 2002-06-26 | 2004-01-01 | John Deutscher | System and process for creating an interactive presentation employing multi-media components |
US20040145603A1 (en) | 2002-09-27 | 2004-07-29 | Soares Stephen Michael | Online multimedia presentation builder and presentation player |
US6752174B2 (en) | 2002-10-03 | 2004-06-22 | Paul Eric Kristofferson | Safety plug |
US7769794B2 (en) | 2003-03-24 | 2010-08-03 | Microsoft Corporation | User interface for a file system shell |
WO2004104773A2 (en) | 2003-05-15 | 2004-12-02 | Comcast Cable Holding, Llc | Method and system for playing video |
KR100500756B1 (en) | 2003-06-27 | 2005-07-11 | 주식회사 디엠에스 | Injector for a glass substrate processing of plat display panel |
US7360157B1 (en) | 2003-09-19 | 2008-04-15 | Microsoft Corporation | Aligning content in an electronic document |
US7743322B2 (en) | 2003-09-30 | 2010-06-22 | Hewlett-Packard Development Company, L.P. | Automatic photo album page layout |
CA2547623C (en) | 2004-01-21 | 2013-07-02 | Vernon W. Sparkes | Pivoting hitch assembly |
US7441204B2 (en) | 2004-02-06 | 2008-10-21 | Microsoft Corporation | Method and system for automatically displaying content of a window on a display that has changed orientation |
US7328411B2 (en) | 2004-03-19 | 2008-02-05 | Lexmark International, Inc. | Scrollbar enhancement for browsing data |
US7694233B1 (en) | 2004-04-30 | 2010-04-06 | Apple Inc. | User interface presentation of information in reconfigured or overlapping containers |
KR100601677B1 (en) | 2004-05-17 | 2006-07-14 | 삼성전자주식회사 | Method of reproducing along with data recorded on storage medium and downloaded data and apparatus thereof |
JP4449587B2 (en) * | 2004-06-09 | 2010-04-14 | 富士フイルム株式会社 | Image mapping method and image mapping program |
US7636891B2 (en) | 2004-08-31 | 2009-12-22 | Research In Motion Limited | Method for paginating a document structure of a document for viewing on a mobile communication device |
US20060059425A1 (en) | 2004-09-14 | 2006-03-16 | Anspach Mark S | Method and apparatus for enabling a user to select hierarchically arranged data in a graphical user interface |
US7890889B2 (en) | 2004-09-27 | 2011-02-15 | Nokia Corporation | User-interface application for media file management |
US8732610B2 (en) | 2004-11-10 | 2014-05-20 | Bt Web Solutions, Llc | Method and apparatus for enhanced browsing, using icons to indicate status of content and/or content retrieval |
US7512898B2 (en) | 2005-04-07 | 2009-03-31 | Microsoft Corporation | User interface with multi-state menu |
JP4533791B2 (en) | 2005-04-19 | 2010-09-01 | 株式会社日立製作所 | Information browsing device |
US20080052742A1 (en) * | 2005-04-26 | 2008-02-28 | Slide, Inc. | Method and apparatus for presenting media content |
JP2006323664A (en) | 2005-05-19 | 2006-11-30 | Sony Corp | Electronic equipment |
US7797641B2 (en) | 2005-05-27 | 2010-09-14 | Nokia Corporation | Mobile communications terminal and method therefore |
US7484182B1 (en) | 2005-06-30 | 2009-01-27 | Adobe Systems Incorporated | Rendition-based graphical layout management |
US7916157B1 (en) | 2005-08-16 | 2011-03-29 | Adobe Systems Incorporated | System and methods for selective zoom response behavior |
US20070073719A1 (en) | 2005-09-14 | 2007-03-29 | Jorey Ramer | Physical navigation of a mobile search application |
US20070088681A1 (en) | 2005-10-17 | 2007-04-19 | Veveo, Inc. | Method and system for offsetting network latencies during incremental searching using local caching and predictive fetching of results from a remote server |
US20070097089A1 (en) * | 2005-10-31 | 2007-05-03 | Battles Amy E | Imaging device control using touch pad |
US7689933B1 (en) | 2005-11-14 | 2010-03-30 | Adobe Systems Inc. | Methods and apparatus to preview content |
US8160400B2 (en) * | 2005-11-17 | 2012-04-17 | Microsoft Corporation | Navigating images using image based geometric alignment and object based controls |
US20070115300A1 (en) | 2005-11-23 | 2007-05-24 | Interactive Investments, Llc | System and method for creation of motor vehicle graphics |
US8006195B1 (en) | 2005-11-28 | 2011-08-23 | Meta Greek, LLC | Spectrum analyzer interface |
US7663620B2 (en) | 2005-12-05 | 2010-02-16 | Microsoft Corporation | Accessing 2D graphic content using axonometric layer views |
JP4835134B2 (en) * | 2005-12-06 | 2011-12-14 | ソニー株式会社 | Image display device, image display method, and program |
US8549442B2 (en) | 2005-12-12 | 2013-10-01 | Sony Computer Entertainment Inc. | Voice and video control of interactive electronically simulated environment |
US7480870B2 (en) | 2005-12-23 | 2009-01-20 | Apple Inc. | Indication of progress towards satisfaction of a user input condition |
US20080022229A1 (en) | 2005-12-23 | 2008-01-24 | Soujanya Bhumkar | Methods and systems for enhancing internet experiences using previews |
US8000741B2 (en) | 2006-02-13 | 2011-08-16 | Research In Motion Limited | Handheld wireless communication device with chamfer keys |
US7664739B2 (en) | 2006-02-14 | 2010-02-16 | Microsoft Corporation | Object search ui and dragging object results |
US7966573B2 (en) | 2006-02-17 | 2011-06-21 | Microsoft Corporation | Method and system for improving interaction with a user interface |
US8086332B2 (en) | 2006-02-27 | 2011-12-27 | Apple Inc. | Media delivery system with improved interaction |
US7724696B1 (en) * | 2006-03-29 | 2010-05-25 | Amazon Technologies, Inc. | Predictive reader power management |
US8712192B2 (en) | 2006-04-20 | 2014-04-29 | Microsoft Corporation | Geo-coding images |
US20070271367A1 (en) * | 2006-05-09 | 2007-11-22 | Zohar Yardeni | Systems and methods for location-based social web interaction and instant messaging system |
US7996788B2 (en) * | 2006-05-18 | 2011-08-09 | International Apparel Group, Llc | System and method for navigating a dynamic collection of information |
US8015183B2 (en) * | 2006-06-12 | 2011-09-06 | Nokia Corporation | System and methods for providing statstically interesting geographical information based on queries to a geographic search engine |
JP4333704B2 (en) * | 2006-06-30 | 2009-09-16 | アイシン・エィ・ダブリュ株式会社 | Navigation device |
US7844354B2 (en) | 2006-07-27 | 2010-11-30 | International Business Machines Corporation | Adjusting the volume of an audio element responsive to a user scrolling through a browser window |
JP4775179B2 (en) | 2006-08-28 | 2011-09-21 | ソニー株式会社 | Display scroll method, display device, and display program |
US7675518B1 (en) | 2006-09-05 | 2010-03-09 | Adobe Systems, Incorporated | System and method for generating image shadows with ray-coherent integration of extruded transparency maps |
US8564544B2 (en) | 2006-09-06 | 2013-10-22 | Apple Inc. | Touch screen device, method, and graphical user interface for customizing display of content category icons |
US7864163B2 (en) | 2006-09-06 | 2011-01-04 | Apple Inc. | Portable electronic device, method, and graphical user interface for displaying structured electronic documents |
US7689583B2 (en) | 2006-09-11 | 2010-03-30 | Microsoft Corporation | Flexible data presentation enabled by metadata |
US8564543B2 (en) | 2006-09-11 | 2013-10-22 | Apple Inc. | Media player with imaged based browsing |
GB2458037A (en) | 2006-09-22 | 2009-09-09 | Peter Walker | Method and system for selecting records from a database |
US7667719B2 (en) | 2006-09-29 | 2010-02-23 | Amazon Technologies, Inc. | Image-based document display |
US8725565B1 (en) * | 2006-09-29 | 2014-05-13 | Amazon Technologies, Inc. | Expedited acquisition of a digital item following a sample presentation of the item |
US8756510B2 (en) * | 2006-10-17 | 2014-06-17 | Cooliris, Inc. | Method and system for displaying photos, videos, RSS and other media content in full-screen immersive view and grid-view using a browser feature |
US7934194B2 (en) | 2006-10-17 | 2011-04-26 | The Mathworks, Inc. | User-defined hierarchies of user-defined classes of graphical objects in a graphical modeling environment |
US8473868B1 (en) | 2006-10-27 | 2013-06-25 | Arris Group, Inc. | System and method for reverse hierarchical navigation within a user interface |
US9665597B2 (en) * | 2006-12-05 | 2017-05-30 | Qualcomm Incorporated | Method and system for processing images using time and location filters |
US7663623B2 (en) | 2006-12-18 | 2010-02-16 | Microsoft Corporation | Spherical harmonics scaling |
AU2006252191B2 (en) | 2006-12-21 | 2009-03-26 | Canon Kabushiki Kaisha | Scrolling Interface |
US8276098B2 (en) | 2006-12-22 | 2012-09-25 | Apple Inc. | Interactive image thumbnails |
US8015581B2 (en) * | 2007-01-05 | 2011-09-06 | Verizon Patent And Licensing Inc. | Resource data configuration for media content access systems and methods |
US7844915B2 (en) * | 2007-01-07 | 2010-11-30 | Apple Inc. | Application programming interfaces for scrolling operations |
US20080222540A1 (en) | 2007-03-05 | 2008-09-11 | Apple Inc. | Animating thrown data objects in a project environment |
DE102007015099A1 (en) | 2007-03-29 | 2008-10-02 | Construction Research & Technology Gmbh | Paper valve bag with inner latch |
US20080268876A1 (en) * | 2007-04-24 | 2008-10-30 | Natasha Gelfand | Method, Device, Mobile Terminal, and Computer Program Product for a Point of Interest Based Scheme for Improving Mobile Visual Searching Functionalities |
US7817823B1 (en) | 2007-04-27 | 2010-10-19 | Adobe Systems Incorporated | Calculating shadow from area light sources using a spatially varying blur radius |
US8065603B2 (en) | 2007-04-30 | 2011-11-22 | Google Inc. | Hiding portions of display content |
US8555186B2 (en) | 2007-05-08 | 2013-10-08 | Adobe Systems Incorporated | Interactive thumbnails for transferring content among electronic documents |
US8316392B2 (en) | 2007-06-11 | 2012-11-20 | Yahoo! Inc. | Systems and methods for forecasting ad inventory |
US8763058B2 (en) | 2007-06-28 | 2014-06-24 | Apple Inc. | Selective data downloading and presentation based on user interaction |
US9772751B2 (en) | 2007-06-29 | 2017-09-26 | Apple Inc. | Using gestures to slide between user interfaces |
US9086791B2 (en) | 2007-08-22 | 2015-07-21 | The Trustees Of Columbia University In The City Of New York | Methods, systems, and media for providing content-aware scrolling |
US8884981B2 (en) * | 2007-09-04 | 2014-11-11 | Apple Inc. | Dynamically reconfigurable graphics layer system and method |
US8683378B2 (en) | 2007-09-04 | 2014-03-25 | Apple Inc. | Scrolling techniques for user interfaces |
US9477395B2 (en) | 2007-09-04 | 2016-10-25 | Apple Inc. | Audio file interface |
JP5203655B2 (en) * | 2007-09-07 | 2013-06-05 | キヤノン株式会社 | Content display device and display method thereof |
WO2009051665A1 (en) | 2007-10-16 | 2009-04-23 | Hillcrest Laboratories, Inc. | Fast and smooth scrolling of user interfaces operating on thin clients |
US8645842B2 (en) * | 2007-11-05 | 2014-02-04 | Verizon Patent And Licensing Inc. | Interactive group content systems and methods |
KR20090050577A (en) * | 2007-11-16 | 2009-05-20 | 삼성전자주식회사 | User interface for displaying and playing multimedia contents and apparatus comprising the same and control method thereof |
US8416198B2 (en) | 2007-12-03 | 2013-04-09 | Apple Inc. | Multi-dimensional scroll wheel |
US9569086B2 (en) | 2007-12-12 | 2017-02-14 | Nokia Technologies Oy | User interface having realistic physical effects |
WO2009081478A1 (en) | 2007-12-21 | 2009-07-02 | Fujitsu Limited | Electronic device, control method, and program |
US8875023B2 (en) * | 2007-12-27 | 2014-10-28 | Microsoft Corporation | Thumbnail navigation bar for video |
US8138896B2 (en) * | 2007-12-31 | 2012-03-20 | Apple Inc. | Tactile feedback in an electronic device |
US9104694B2 (en) * | 2008-01-10 | 2015-08-11 | Koninklijke Philips N.V. | Method of searching in a collection of data items |
US20090199091A1 (en) | 2008-02-01 | 2009-08-06 | Elmalik Covington | System for Electronic Display of Scrolling Text and Associated Images |
EP2088500A1 (en) | 2008-02-11 | 2009-08-12 | Idean Enterprises Oy | Layer based user interface |
US9418171B2 (en) * | 2008-03-04 | 2016-08-16 | Apple Inc. | Acceleration of rendering of web-based content |
US8997018B2 (en) * | 2008-03-04 | 2015-03-31 | Synaptics Incorporated | Presenting a menu |
US20090249238A1 (en) | 2008-03-28 | 2009-10-01 | International Business Machines Corporation | Automated directing of data to an application |
US8117556B2 (en) | 2008-03-31 | 2012-02-14 | Vistaprint Technologies Limited | Target-alignment-and-drop control for editing electronic documents |
US8612888B2 (en) | 2008-04-01 | 2013-12-17 | Litl, Llc | Method and apparatus for managing digital media content |
US20090267909A1 (en) | 2008-04-27 | 2009-10-29 | Htc Corporation | Electronic device and user interface display method thereof |
AR071981A1 (en) | 2008-06-02 | 2010-07-28 | Spx Corp | WINDOW OF MULTIPLE PRESENTATION SCREENS WITH INPUT FOR CIRCULAR DISPLACEMENT |
US8423889B1 (en) | 2008-06-05 | 2013-04-16 | Amazon Technologies, Inc. | Device specific presentation control for electronic book reader devices |
WO2009152316A1 (en) | 2008-06-11 | 2009-12-17 | Teliris, Inc. | Surface computing collaboration system, method and apparatus |
US8385971B2 (en) * | 2008-08-19 | 2013-02-26 | Digimarc Corporation | Methods and systems for content processing |
US8516385B1 (en) | 2008-08-29 | 2013-08-20 | Adobe Systems Incorporated | Linking objects across states as shared objects |
US8279241B2 (en) * | 2008-09-09 | 2012-10-02 | Microsoft Corporation | Zooming graphical user interface |
EP2330498B1 (en) | 2008-09-16 | 2017-07-05 | Panasonic Intellectual Property Corporation of America | Data display device, data display method, data display program, and recording medium |
US8194102B2 (en) * | 2008-10-06 | 2012-06-05 | Microsoft Corporation | Rendering annotations for images |
JP4683110B2 (en) | 2008-10-17 | 2011-05-11 | ソニー株式会社 | Display device, display method, and program |
US9928242B2 (en) * | 2008-11-05 | 2018-03-27 | Oracle International Corporation | Managing the content of shared slide presentations |
US9201582B2 (en) | 2008-11-11 | 2015-12-01 | Canon Kabushiki Kaisha | Display control apparatus and display control method |
KR101609162B1 (en) | 2008-11-13 | 2016-04-05 | 엘지전자 주식회사 | Mobile Terminal With Touch Screen And Method Of Processing Data Using Same |
US8365091B2 (en) | 2009-01-06 | 2013-01-29 | Microsoft Corporation | Non-uniform scrolling |
US8806371B2 (en) | 2009-03-26 | 2014-08-12 | Apple Inc. | Interface navigation tools |
WO2010124167A1 (en) * | 2009-04-24 | 2010-10-28 | Google Inc. | System and method of displaying related sites |
US8584027B2 (en) | 2009-06-02 | 2013-11-12 | Apple Inc. | Framework for designing physics-based graphical user interface |
US8681106B2 (en) * | 2009-06-07 | 2014-03-25 | Apple Inc. | Devices, methods, and graphical user interfaces for accessibility using a touch-sensitive surface |
US20120327009A1 (en) | 2009-06-07 | 2012-12-27 | Apple Inc. | Devices, methods, and graphical user interfaces for accessibility using a touch-sensitive surface |
JP5172792B2 (en) * | 2009-07-31 | 2013-03-27 | 本田技研工業株式会社 | Membrane-electrode structure for polymer electrolyte fuel cell and polymer electrolyte fuel cell |
JP2011059820A (en) * | 2009-09-07 | 2011-03-24 | Sony Corp | Information processing apparatus, information processing method and program |
KR20110028834A (en) | 2009-09-14 | 2011-03-22 | 삼성전자주식회사 | Method and apparatus for providing user interface using touch pressure on touch screen of mobile station |
US8416262B2 (en) * | 2009-09-16 | 2013-04-09 | Research In Motion Limited | Methods and devices for displaying an overlay on a device display screen |
US8624933B2 (en) | 2009-09-25 | 2014-01-07 | Apple Inc. | Device, method, and graphical user interface for scrolling a multi-section document |
US8452784B2 (en) * | 2009-10-22 | 2013-05-28 | Nokia Corporation | Method and apparatus for searching geo-tagged information |
JP2011108186A (en) * | 2009-11-20 | 2011-06-02 | Sony Corp | Apparatus, method, and program for processing information |
US9081464B2 (en) | 2009-11-20 | 2015-07-14 | Adobe Systems Incorporated | Object selection |
US20110122159A1 (en) * | 2009-11-20 | 2011-05-26 | Sony Ericsson Mobile Communications Ab | Methods, devices, and computer program products for providing multi-region touch scrolling |
KR20110058089A (en) * | 2009-11-25 | 2011-06-01 | 한국전자통신연구원 | Apparatus and method of managing objects and events by using vector based geographic information system |
CN102096674B (en) * | 2009-12-11 | 2014-01-01 | 华为技术有限公司 | Method, equipment and system for releasing and downloading electronic book |
US20110157051A1 (en) | 2009-12-25 | 2011-06-30 | Sanyo Electric Co., Ltd. | Multilayer display device |
US20110161818A1 (en) | 2009-12-29 | 2011-06-30 | Nokia Corporation | Method and apparatus for video chapter utilization in video player ui |
US8949734B2 (en) | 2010-01-04 | 2015-02-03 | Verizon Patent And Licensing Inc. | Mobile device color-based content mapping and navigation |
US8438504B2 (en) | 2010-01-06 | 2013-05-07 | Apple Inc. | Device, method, and graphical user interface for navigating through multiple viewing areas |
US8698762B2 (en) * | 2010-01-06 | 2014-04-15 | Apple Inc. | Device, method, and graphical user interface for navigating and displaying content in context |
US8736561B2 (en) | 2010-01-06 | 2014-05-27 | Apple Inc. | Device, method, and graphical user interface with content display modes and display rotation heuristics |
KR20170088442A (en) | 2010-01-11 | 2017-08-01 | 애플 인크. | Electronic text manipulation and display |
US8499236B1 (en) * | 2010-01-21 | 2013-07-30 | Amazon Technologies, Inc. | Systems and methods for presenting reflowable content on a display |
KR101087479B1 (en) | 2010-01-29 | 2011-11-25 | 주식회사 팬택 | Multi display device and method for controlling the same |
US9417787B2 (en) | 2010-02-12 | 2016-08-16 | Microsoft Technology Licensing, Llc | Distortion effects to indicate location in a movable data collection |
EP2357575A1 (en) * | 2010-02-12 | 2011-08-17 | Research In Motion Limited | Image-based and predictive browsing |
US8539384B2 (en) | 2010-02-25 | 2013-09-17 | Microsoft Corporation | Multi-screen pinch and expand gestures |
US8799658B1 (en) | 2010-03-02 | 2014-08-05 | Amazon Technologies, Inc. | Sharing media items with pass phrases |
US9176748B2 (en) | 2010-03-25 | 2015-11-03 | Apple Inc. | Creating presentations using digital media content |
JP5329465B2 (en) | 2010-03-30 | 2013-10-30 | ルネサスエレクトロニクス株式会社 | Level voltage selection circuit, data driver and display device |
US8930498B2 (en) | 2010-03-31 | 2015-01-06 | Bank Of America Corporation | Mobile content management |
US8990702B2 (en) | 2010-09-30 | 2015-03-24 | Yahoo! Inc. | System and method for controlling a networked display |
US8448084B2 (en) | 2010-04-08 | 2013-05-21 | Twitter, Inc. | User interface mechanics |
US9501582B2 (en) | 2010-05-10 | 2016-11-22 | Amazon Technologies, Inc. | Providing text content embedded with protected multimedia content |
US8131898B2 (en) | 2010-05-27 | 2012-03-06 | Adobe Systems Incorporated | Event handling in an integrated execution environment |
US20110291964A1 (en) | 2010-06-01 | 2011-12-01 | Kno, Inc. | Apparatus and Method for Gesture Control of a Dual Panel Electronic Device |
US9542091B2 (en) | 2010-06-04 | 2017-01-10 | Apple Inc. | Device, method, and graphical user interface for navigating through a user interface using a dynamic object selection indicator |
US8819557B2 (en) * | 2010-07-15 | 2014-08-26 | Apple Inc. | Media-editing application with a free-form space for organizing or compositing media clips |
TWI427350B (en) | 2010-07-27 | 2014-02-21 | Tdk Taiwan Corp | Electromagnetic driving apparatus for lens |
WO2012058602A2 (en) | 2010-10-28 | 2012-05-03 | Marshall Monroe | Method and apparatus for organizing and delivering digital media content and inteactive elements |
US8997025B2 (en) | 2010-11-24 | 2015-03-31 | Fuji Xerox Co., Ltd. | Method, system and computer readable medium for document visualization with interactive folding gesture technique on a multi-touch display |
US9183653B2 (en) | 2010-12-14 | 2015-11-10 | Microsoft Technology Licensing, Llc | Extensions for modifying a graphical object to display data |
US9529866B2 (en) | 2010-12-20 | 2016-12-27 | Sybase, Inc. | Efficiently handling large data sets on mobile devices |
US9052806B2 (en) * | 2010-12-20 | 2015-06-09 | Facebook, Inc. | User interface for presenting media items of social networking service in media reel |
US8140404B1 (en) | 2011-01-14 | 2012-03-20 | Amazon Technologies, Inc. | Browsing with static pages |
US9442516B2 (en) | 2011-01-24 | 2016-09-13 | Apple Inc. | Device, method, and graphical user interface for navigating through an electronic document |
US8694903B2 (en) | 2011-03-04 | 2014-04-08 | Verizon Patent And Licensing Inc. | Methods and systems for managing an e-reader interface |
US9075493B2 (en) | 2011-03-07 | 2015-07-07 | Sas Institute, Inc. | Techniques to present hierarchical information using orthographic projections |
US10007402B2 (en) | 2011-03-09 | 2018-06-26 | Apple Inc. | System and method for displaying content |
US9558013B2 (en) | 2011-04-12 | 2017-01-31 | Citrix Systems, Inc. | Responsive scroller controls in server-hosted applications |
US20120266103A1 (en) | 2011-04-15 | 2012-10-18 | Google Inc. | Method and apparatus of scrolling a document displayed in a browser window |
US20120272171A1 (en) | 2011-04-21 | 2012-10-25 | Panasonic Corporation | Apparatus, Method and Computer-Implemented Program for Editable Categorization |
US9182897B2 (en) | 2011-04-22 | 2015-11-10 | Qualcomm Incorporated | Method and apparatus for intuitive wrapping of lists in a user interface |
JP5507757B2 (en) * | 2011-04-26 | 2014-05-28 | シャープ株式会社 | Display device, display method, display program, and processor |
US8812658B1 (en) * | 2011-05-20 | 2014-08-19 | Amazon Technologies, Inc. | Pre-fetching of network page content |
US8893184B2 (en) | 2011-07-15 | 2014-11-18 | Intel Corporation | Mechanism for facilitating multiple multimedia viewing planes in media display systems |
BR112014003632A2 (en) * | 2011-08-19 | 2017-03-21 | Apple Inc | interactive content for digital books |
EP2592828A1 (en) | 2011-11-09 | 2013-05-15 | OpenTV, Inc. | Apparatus and method for navigating an electronic program guide |
US20130073364A1 (en) * | 2011-09-16 | 2013-03-21 | Ysk Media Ltd. | Method of Downloading Contents |
US9026934B1 (en) * | 2011-09-29 | 2015-05-05 | Amazon Technologies, Inc. | Dynamic character biographies |
GB201118784D0 (en) | 2011-10-31 | 2011-12-14 | Omnifone Ltd | Djml |
US9361020B2 (en) | 2011-10-25 | 2016-06-07 | Samsung Electronics Co., Ltd | Method and apparatus for displaying e-book in terminal having function of e-book reader |
US9324183B2 (en) | 2011-11-29 | 2016-04-26 | Apple Inc. | Dynamic graphical interface shadows |
US9400600B2 (en) | 2011-12-16 | 2016-07-26 | Samsung Electronics Co., Ltd. | Method, apparatus, and graphical user interface for providing visual effects on a touchscreen display |
US8718613B2 (en) | 2012-01-17 | 2014-05-06 | Daniel TOW | Remote viewing apparatus for smartphone |
US8930992B2 (en) | 2012-01-19 | 2015-01-06 | Sony Corporation | TV social network advertising |
US9552147B2 (en) | 2012-02-01 | 2017-01-24 | Facebook, Inc. | Hierarchical user interface |
US9645724B2 (en) | 2012-02-01 | 2017-05-09 | Facebook, Inc. | Timeline based content organization |
US9557876B2 (en) | 2012-02-01 | 2017-01-31 | Facebook, Inc. | Hierarchical user interface |
KR102024587B1 (en) | 2012-02-02 | 2019-09-24 | 엘지전자 주식회사 | Mobile terminal and method for controlling thereof |
WO2013134854A1 (en) | 2012-03-13 | 2013-09-19 | Cognilore Inc. | Method of navigating through digital content |
US9454303B2 (en) | 2012-05-16 | 2016-09-27 | Google Inc. | Gesture touch inputs for controlling video on a touchscreen |
WO2013184528A2 (en) * | 2012-06-05 | 2013-12-12 | Apple Inc. | Interactive map |
US8904304B2 (en) * | 2012-06-25 | 2014-12-02 | Barnesandnoble.Com Llc | Creation and exposure of embedded secondary content data relevant to a primary content page of an electronic book |
US9880703B2 (en) | 2012-08-07 | 2018-01-30 | Nook Digital, Llc | Electronic bookshelf system |
US9569083B2 (en) | 2012-12-12 | 2017-02-14 | Adobe Systems Incorporated | Predictive directional content queue |
US20140258849A1 (en) | 2013-03-06 | 2014-09-11 | Google Inc. | Automatic Alignment of a Multi-Dimensional Layout |
US9317188B2 (en) | 2013-03-15 | 2016-04-19 | Arris Enterprises, Inc. | Devices and methods for providing navigation images associated with adaptive bit rate video content |
KR102131824B1 (en) | 2013-05-14 | 2020-07-09 | 엘지전자 주식회사 | Display device and method for controlling the same |
KR20150002312A (en) * | 2013-06-28 | 2015-01-07 | 삼성전자주식회사 | Page display method and electronic device implementing the same |
US9542407B2 (en) * | 2013-09-30 | 2017-01-10 | Blackberry Limited | Method and apparatus for media searching using a graphical user interface |
-
2012
- 2012-06-04 US US13/487,805 patent/US9552147B2/en active Active
- 2012-06-04 US US13/488,076 patent/US9235318B2/en not_active Expired - Fee Related
- 2012-06-04 US US13/487,765 patent/US9235317B2/en active Active
- 2012-06-04 US US13/488,039 patent/US9229613B2/en active Active
- 2012-06-05 US US13/489,265 patent/US8984428B2/en active Active
- 2012-06-05 US US13/489,172 patent/US20130198261A1/en not_active Abandoned
- 2012-06-06 US US13/490,343 patent/US8990691B2/en active Active
- 2012-06-06 US US13/490,367 patent/US20130198668A1/en not_active Abandoned
- 2012-06-07 US US13/491,100 patent/US9239662B2/en active Active
- 2012-06-07 US US13/490,736 patent/US9003305B2/en active Active
- 2012-07-23 US US13/555,657 patent/US8990719B2/en active Active
- 2012-07-23 US US13/555,607 patent/US9007371B2/en active Active
- 2012-07-23 US US13/555,845 patent/US8976199B2/en active Active
- 2012-07-23 US US13/555,909 patent/US9098168B2/en not_active Expired - Fee Related
- 2012-07-23 US US13/555,876 patent/US9606708B2/en active Active
-
2014
- 2014-12-12 US US14/569,475 patent/US20150100924A1/en not_active Abandoned
- 2014-12-16 US US14/572,405 patent/US10775991B2/en active Active
-
2015
- 2015-12-07 US US14/961,227 patent/US10613733B2/en active Active
-
2017
- 2017-01-23 US US15/412,347 patent/US20170131889A1/en not_active Abandoned
- 2017-02-01 US US15/421,725 patent/US20170192661A1/en not_active Abandoned
- 2017-03-27 US US15/470,652 patent/US20170199641A1/en not_active Abandoned
-
2020
- 2020-03-20 US US16/824,893 patent/US11132118B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170199641A1 (en) | User Intent During Object Scrolling | |
RU2602384C2 (en) | Multiprogram environment | |
US9152173B2 (en) | Transparent display device | |
CA2890039C (en) | Scrolling through a series of content items | |
JP6296996B2 (en) | Select thumbnail image for application | |
US20170132829A1 (en) | Method For Displaying and Animating Sectioned Content That Retains Fidelity Across Desktop and Mobile Devices | |
US20140359517A1 (en) | Turning a Page on a Display | |
CN109844816A (en) | System and method for showing presentation graphics | |
US20150339006A1 (en) | Asynchronous Preparation of Displayable Sections of a Graphical User Interface | |
US20150242069A1 (en) | Predictive Scrolling | |
US10078427B1 (en) | Zooming while page turning in a document | |
US20120304132A1 (en) | Switching back to a previously-interacted-with application | |
US20190250790A1 (en) | Managing content displayed on a touch screen enabled device | |
US8872813B2 (en) | Parallax image authoring and viewing in digital media | |
CN106255951A (en) | The content utilizing dynamic zoom to focus on shows | |
US20180059880A1 (en) | Methods and systems for interactive three-dimensional electronic book |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: META PLATFORMS, INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:FACEBOOK, INC.;REEL/FRAME:058769/0421 Effective date: 20211028 |