US20130198261A1 - Intelligent Downloading and Rendering of Content - Google Patents

Intelligent Downloading and Rendering of Content Download PDF

Info

Publication number
US20130198261A1
US20130198261A1 US13/489,172 US201213489172A US2013198261A1 US 20130198261 A1 US20130198261 A1 US 20130198261A1 US 201213489172 A US201213489172 A US 201213489172A US 2013198261 A1 US2013198261 A1 US 2013198261A1
Authority
US
United States
Prior art keywords
objects
user
electronic device
hierarchy
specific
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
Application number
US13/489,172
Inventor
Michael Matas
Kimon Tsinteris
Austin Sarner
Charles Melcher
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Inc
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US13/489,172 priority Critical patent/US20130198261A1/en
Assigned to FACEBOOK, INC. reassignment FACEBOOK, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SARNER, AUSTIN, MATAS, MICHAEL, TSINTERIS, KIMON
Publication of US20130198261A1 publication Critical patent/US20130198261A1/en
Assigned to META PLATFORMS, INC. reassignment META PLATFORMS, INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: FACEBOOK, INC.
Assigned to META PLATFORMS, INC. reassignment META PLATFORMS, INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: FACEBOOK, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/137Hierarchical processing, e.g. outlines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Definitions

  • This disclosure generally relates to downloading to and rendering on electronic devices user-consumable content.
  • computing or electronic devices connected to computer or communication networks may transmit data to one another over the networks.
  • a sending device and a receiving device, where the data are transmitted from the sending device to the receiving device.
  • the data may be pushed or pulled from the sending device to the receiving device.
  • push it is the sending device that has initiated the data transmission.
  • pull it is the receiving device that has initiated the data transmission (e.g., by requesting the data from the sending device).
  • FIG. 1 illustrates an example system for transmitting data from a first device to a second device.
  • FIG. 2 illustrates a portion of an example object hierarchy.
  • FIG. 3 illustrates an example method for downloading a hierarchy of objects.
  • FIG. 4 illustrates an example method for downloading a hierarchy of objects.
  • FIG. 5 illustrates an example visual indicator that shows the current status of downloading a hierarchy of objects.
  • FIG. 6 illustrates an example of downloading a specific version of an object to a device.
  • FIG. 7 illustrates an example electronic device.
  • data may be transmitted from a first device (e.g., a data-sending device) to a second device (e.g., a data-receiving device) over computer or communication networks.
  • a first device e.g., a data-sending device
  • a second device e.g., a data-receiving device
  • downloading the process of transmitting data from a sending device to a receiving device
  • the sending and receiving devices may be connected to the networks through wired or wireless connections.
  • the data may represent user-consumable content (e.g., texts, images, videos, audios, etc.). The content may be rendered on the data-sending device and presented to a user of the device.
  • user-consumable content may be organized into a hierarchy of objects, where each object in the hierarchy corresponds to a specific piece of user-consumable content.
  • the objects may be downloaded to an electronic device in an order determined based on their respective positions in the hierarchy or based on what objects are currently being consumed or likely to be consumed in the near future by a user of the device.
  • the structure of the hierarchy, or more specifically, the positions of the objects within the hierarchy indicate relationships among the objects in the hierarchy.
  • transmitting data representing a hierarchy of objects to an electronic device includes transmitting both the data representing the objects themselves and the data representing the hierarchical structure (e.g., data representing the positions of the objects within the hierarchy or the relationships among the objects) to the electronic device.
  • the objects when presenting a hierarchy of objects to a user for consumption, the objects are organized and presented according to the structure of the hierarchy.
  • the objects may be presented in a user interface (UI) provided on the electronic device.
  • UI user interface
  • the objects are organized and presented in the UI according to the hierarchical structure so that the UI itself becomes hierarchical as well. Consequently, the UI may include a number of layers, respectively corresponding to the levels in the hierarchy.
  • the positions of the objects within the hierarchy are preserved in the UI, such that a specific object at a specific level in the hierarchy is presented in the corresponding layer of the UI.
  • the relationships among the objects within the hierarchy are maintained in the UI.
  • the downloaded objects may be rendered for user consumption based on what objects are currently being consumed or likely to be consumed in the near future by a user of the device.
  • FIG. 1 illustrates a system for transmitting data between two devices (e.g., from a first device to a second device).
  • two devices 110 A and 110 B are connected to a network 120 , each by a link 130 .
  • network 120 may be an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a metropolitan area network (MAN), a portion of the Internet, another network 120 , or a combination of two or more such networks 120 .
  • VPN virtual private network
  • LAN local area network
  • WLAN wireless LAN
  • WAN wide area network
  • MAN metropolitan area network
  • a link 130 couples each device 110 to network 120 .
  • link 130 may include one or more wireline, wireless, or optical links.
  • link 130 may include an intranet, an extranet, a VPN, a LAN, a WLAN, a WAN, a MAN, a portion of the Internet, another link 130 , or a combination of two or more such links 130 .
  • This disclosure contemplates any suitable link 130 .
  • devices 110 may transmit data to each other over network 120 .
  • device 110 A may be a server and device 110 B may be a client.
  • Device 110 A (e.g., the server) may transmit data to device 110 B (e.g., the client).
  • devices 110 A and 110 B may both be peer nodes.
  • Device 110 A may transmit data to device 110 B, and vice versa.
  • device 110 A transmits data to device 110 B.
  • device 110 A may be referred to as the “data-sending” device
  • device 110 B may be referred to as the “data-receiving” device.
  • Data may be pushed or pulled from data-sending device 110 A to data-receiving device 110 B, depending on which device has actually initiated the data transmission.
  • the process of transmitting data from data-sending device 110 A to data-receiving device 110 B may also be referred to as “downloading” the data from device 110 A to device 110 B.
  • the data downloaded from one device (e.g., device 110 A) to another device (e.g., device 110 B) may represent user-consumable content, such as, for example and without limitations, texts, images, videos, audios, executables, feeds, etc., that may be used or viewed or heard or interacted with by a user of a device.
  • user-consumable content may be presented to a user of a device in a suitable user interface (UI) provided on the device.
  • UI user interface
  • the user-consumable content may be organized (e.g., based on how specific pieces of user-consumable content are related to one another) so that the content may be presented to the user in an organized or logical or user-friendly manner, as opposed to, for example, randomly.
  • the data downloaded from one device (e.g., device 110 A) to another device (e.g., device 110 B) may also represent how the individual pieces of user-consumable content are organized (e.g., their organizational structure).
  • FIG. 2 illustrates a portion of an object hierarchy 200 that includes a number of objects 210 .
  • an object in a hierarchy may or may not have a parent.
  • 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” object (e.g., object 210 B). If an object does have children (e.g., object 210 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. 2 , object 210 C is the parent of objects 210 D and 210 B. Objects 210 D and 210 B are the children of object 210 C and are siblings to each other.
  • a hierarchy of objects e.g., object hierarchy 200 ) 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 be used to indicate its relationships with other objects in the hierarchy.
  • 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 text blocks, 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 or objects.
  • 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 objects.
  • the relationships among the objects may correspond to how the objects are organized and presented to a user.
  • 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 hierarchy.
  • the objects may be presented in a user interface (UI) provided on the device.
  • the objects may be organized and presented in the UI according to the structure of the hierarchy so that the UI itself becomes hierarchical as well. Consequently, the UI may include a number of layers, respectively corresponding to the levels in the hierarchy.
  • the positions of the objects within the hierarchy are preserved in the UI, such that a specific object at a specific position in the hierarchy is presented in the corresponding position in the UI.
  • the relationships among the objects within the hierarchy are maintained in the UI.
  • 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.
  • 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.
  • an object may be of any type and this disclosure contemplates any applicable types of objects.
  • 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
  • UI user interface
  • data representing a hierarchy of objects may be downloaded from one device (e.g., a server) to another device (e.g., a client).
  • the individual objects in the hierarchy may be transmitted between devices based on their positions in the hierarchy (i.e., the structure of the hierarchy) and thus based on their relationships to each other.
  • data representing a hierarchy of objects may be transmitted between two devices one level of the hierarchy at a time. That is, objects at the first level of the hierarchy are downloaded, followed by objects at the second level of the hierarchy, followed by objects at the third level of the hierarchy, and so on, until those objects at the last level of the hierarchy are downloaded.
  • FIG. 3 which illustrates an example method for downloading a hierarchy of objects from one device to another device
  • the downloading process is iterative, starting with the first level of the hierarchy and proceeding down one level at a time.
  • data representing the objects at the current level of the hierarchy are downloaded (STEP 310 ).
  • the downloading process moves down to the next level (STEP 330 ) and another iteration is repeated, until all objects at all the levels have been downloaded.
  • a hierarchy of objects may represent a book.
  • the book may include any number of sections (e.g., chapters); each section may include any number of pages; and each page may include any number of texts, images, videos, audios, etc.
  • the book hierarchy may be downloaded one level at a time.
  • the data representing the book e.g., the book's title, cover page, author, publication information, and table of content (TOC)
  • TOC table of content
  • the TOC of the book may be downloaded first. This allows the user to browse the entire book quickly and get an overview of the structure of the book. While the user is browsing the book on a superficial level, objects at lower levels of the hierarchy (e.g., the sections and pages) may be downloaded so that they are available when the user is ready to dive into specific sections of the book.
  • objects at lower levels of the hierarchy e.g., the sections and pages
  • data representing a hierarchy of objects may be transmitted between two devices one section of the hierarchy at a time. That is, at a particular level, a first object is downloaded, followed by all the child objects of that first object. Then, a second object is downloaded, following by all the child objects of that second object. Then a third object is downloaded, following by all the child objects of that third object. And so on, until all the objects in the hierarchy are downloaded.
  • FIG. 4 which illustrates another example method for downloading a hierarchy of objects from one device to another device, the downloading process is again iterative, starting with the first object at a particular level of the hierarchy.
  • data representing the current object at the current level of the hierarchy are downloaded (STEP 410 ). Then, if the current object has any child objects that have not been downloaded (STEP 420 , “YES”), data representing those child objects are downloaded (STEP 430 ). If there are more objects at the current level (STEP 440 , “YES”), then the downloading process moves over to the next object at the current level (STEP 450 ) and another iteration is repeated, until all the objects in the hierarchy are downloaded.
  • the two concepts illustrated in FIGS. 3 and 4 may be combined.
  • the objects may be downloaded one level at a time (e.g., as illustrated in FIG. 3 ).
  • the objects may be downloaded one section at a time, where a parent object is downloaded, followed by downloading its child objects (e.g., as illustrated in FIG. 4 ).
  • the objects at the higher levels of the hierarchy such as those corresponding to the book and the sections in the book, may be downloaded one level at a time (e.g., first downloading the book, then downloading the sections of the book).
  • a digital book may include introductory content (e.g., video, slideshow, audio clip, animation, etc.). While the user is consuming (e.g., reading, viewing, or listening to) the introductory content of the book, the rest of the sections of the book may be downloaded. Then, when a user selects a specific section to read in further detail, the pages and content of each page in that section may be downloaded before the other sections, if they have not already been downloaded. This way, even if the user has selected a section in the middle or near the end of the book, the content of the user-selected section becomes available to the user quickly.
  • introductory content e.g., video, slideshow, audio clip, animation, etc.
  • the user does not need to wait for the content of all the proceeding sections in the book to be downloaded before the content of the user-selected section is downloaded. While the user is reading one section, another section (e.g., a section immediately before or after the currently user-selected section) may be downloaded. In other words, data representing objects (e.g., user-consumable content) may be downloaded incrementally and intelligently (e.g., based on what content the user is currently consuming or is likely to consume soon).
  • objects e.g., user-consumable content
  • objects in a hierarchy may be downloaded to a device for user consumption based on what objects a user of the device is currently consuming (e.g., viewing, listening to, or interacting with).
  • a hierarchy of objects representing a book suppose that the user is currently reading Chapter 4 of the book. All the pages in Chapter 4, as well as the content included in each page, may be downloaded first. Thereafter, while the user is reading Chapter 4, the other chapters may be downloaded. For example, the pages in Chapter 5 and their content may be downloaded next, as it is likely that after Chapter 4, the user will read Chapter 5 next. The pages in Chapter 3 and their content may be downloaded sooner rather than later as well, as it is possible that the user may want to refer back to Chapter 3. In other words, those chapters in the book that are closer to the chapter the user is currently reading may be downloaded first. Then, the other chapters (e.g., chapters 10, 11, 12 . . . ) may be downloaded.
  • the objects may be downloaded in an order determined based on what objects are presented to the user or the user is consuming now as well as what objects are likely to be presented to the user or consumed by the user in the near future.
  • there is an attempt to estimate or predict an order that the objects are to be presented to the user in the future e.g., predicting in what order the user is likely to consume the objects.
  • the prediction of what content the user is likely to consumer soon may be based on the user's actions, including current actions and recently-past actions, with respect to the objects (e.g., which section of the book the user is currently reading or has just finished reading).
  • Those objects that the user is likely to consume sooner may be downloaded first, before those object that the user is likely to consumer later, so that the user does not need to wait for the objects to be downloaded.
  • the user's interactions with objects at specific positions within the hierarchical structure may help determines which objects are downloaded sooner and which objects are downloaded later.
  • the objects are prioritized for downloading to the user's device.
  • the objects that are needed sooner e.g., the user is likely to consume these objects soon
  • the objects that are needed later may be downloaded second. For example, if a user is currently viewing a parent object (e.g., a chapter's title page), the current object's child objects (e.g., the pages in the chapter) may be downloaded first.
  • the user may interact with the objects (e.g., manipulating, handling, or scrolling through the objects) through various user input means using, for example, a keyboard, a mouse, a stylus, or the user's fingers.
  • the user may scroll through a series of objects (e.g., a series of images included in a photo album or a series of photo albums included in the user's profile page) by sliding the user's finger or fingers across a touch-sensitive display screen of the user's device.
  • This sliding motion which is often referred to as a “swipe”, may result in a vector representing the direction and the speed or acceleration of each sliding movement of the user's fingers.
  • the vector of a 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.
  • the touch input vector may have a high velocity, or, even more tellingly, a high acceleration.
  • Such an input may signal to the application (e.g., software implementing the social-networking website) 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 the 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 downloading the child objects (e.g., the individual photos) of the currently-viewed album cover to the user's device.
  • the child objects e.g., the individual photos
  • a visual component may indicate the current status of the downloading process.
  • a progress bar 510 may indicate the current status of downloading a chapter of a book.
  • objects may be rendered (e.g., for presentation to the user) in an order determined based on what objects the user may be likely to consume sooner and what objects the user may be likely to consume later.
  • Those objects that the user is likely to consume sooner are rendered first, before those the user is likely to consume later.
  • a rendered object may be stored in a buffer (e.g., in cache) so that it is readily available for presentation to the user. Consequently, the user does not need to wait for objects to be rendered before the objects are presented to the user.
  • content elements may be pre-drawn and loaded into a buffer based on where the user has scrolled (e.g., which section or which page the user is currently reading).
  • the digital book application may extrapolate from the user's screen size to determine the size and contents of the buffer.
  • a specific object e.g., image, video, audio, etc.
  • Different types of devices may have different resources (e.g., processors, memories, network connections, etc.), capabilities (e.g., hardware and software), or operational environments (e.g., operating systems).
  • resources e.g., processors, memories, network connections, etc.
  • capabilities e.g., hardware and software
  • operational environments e.g., operating systems
  • some devices may have powerful processors, large amounts of cache, fast network connections, big display screens, etc.
  • some devices may have lesser capabilities.
  • a specific object may have different versions tailored to devices having different resources and capabilities.
  • an image may have different versions with different resolutions, dimensions, or formats suitable for different types of devices. The same image may be zoomable on some types of devices but not others.
  • a video may have different versions with different qualities, compression rates, or formats suitable for different types of devices.
  • a smartphone may receive a lower resolution version of the image while a tablet may receive a higher resolution version of the image, as the smartphone probably has a smaller display screen than the tablet.
  • a device with a faster network connection e.g., Ethernet connection
  • another device with a slower network connection e.g., cellular telephone connection
  • may receive a lower quality version of the video as the first device is able to download the video data faster than the second device.
  • the structure of the hierarchy may differ somewhat between the versions.
  • some of the objects in the hierarchy may each have different versions.
  • FIG. 6 illustrates an example method for downloading different versions of an object to different types of devices. If an object is to be downloaded to a device and there are multiple versions of the object (STEP 610 , “YES”), then in particular embodiments, a specific version of the object is selected based on the resources or capabilities (e.g., hardware or software configurations) of the device (STEP 620 ). The selected version of the object is more suitable for the device to which it is to be downloaded. The selected version of the object is downloaded to the device (STEP 630 ). On the other hand, if the object does not have multiple versions (STEP 610 , “NO), the object is downloaded to the device (STEP 640 ).
  • the resources or capabilities e.g., hardware or software configurations
  • FIG. 7 illustrates an example electronic device 700 .
  • computer system 700 may be an embodiment for device 110 A or device 110 B illustrated in FIG. 1 .
  • one or more computer systems 700 perform one or more steps of one or more methods described or illustrated herein.
  • one or more computer systems 700 provide functionality described or illustrated herein.
  • software running on one or more computer systems 700 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 700 .
  • computer system 700 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 700 may include one or more computer systems 700 ; 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 700 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 700 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 700 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 700 includes a processor 702 , memory 704 , storage 706 , an input/output (I/O) interface 708 , a communication interface 710 , and a bus 712 .
  • 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 702 includes hardware for executing instructions, such as those making up a computer program.
  • processor 702 may retrieve (or fetch) the instructions from an internal register, an internal cache, memory 704 , or storage 706 ; decode and execute them; and then write one or more results to an internal register, an internal cache, memory 704 , or storage 706 .
  • processor 702 may include one or more internal caches for data, instructions, or addresses. This disclosure contemplates processor 702 including any suitable number of any suitable internal caches, where appropriate.
  • processor 702 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 704 or storage 706 , and the instruction caches may speed up retrieval of those instructions by processor 702 . Data in the data caches may be copies of data in memory 704 or storage 706 for instructions executing at processor 702 to operate on; the results of previous instructions executed at processor 702 for access by subsequent instructions executing at processor 702 or for writing to memory 704 or storage 706 ; or other suitable data. The data caches may speed up read or write operations by processor 702 . The TLBs may speed up virtual-address translation for processor 702 .
  • TLBs translation lookaside buffers
  • processor 702 may include one or more internal registers for data, instructions, or addresses. This disclosure contemplates processor 702 including any suitable number of any suitable internal registers, where appropriate. Where appropriate, processor 702 may include one or more arithmetic logic units (ALUs); be a multi-core processor; or include one or more processors 702 . Although this disclosure describes and illustrates a particular processor, this disclosure contemplates any suitable processor.
  • ALUs arithmetic logic units
  • memory 704 includes main memory for storing instructions for processor 702 to execute or data for processor 702 to operate on.
  • computer system 700 may load instructions from storage 706 or another source (such as, for example, another computer system 700 ) to memory 704 .
  • Processor 702 may then load the instructions from memory 704 to an internal register or internal cache.
  • processor 702 may retrieve the instructions from the internal register or internal cache and decode them.
  • processor 702 may write one or more results (which may be intermediate or final results) to the internal register or internal cache.
  • Processor 702 may then write one or more of those results to memory 704 .
  • processor 702 executes only instructions in one or more internal registers or internal caches or in memory 704 (as opposed to storage 706 or elsewhere) and operates only on data in one or more internal registers or internal caches or in memory 704 (as opposed to storage 706 or elsewhere).
  • One or more memory buses (which may each include an address bus and a data bus) may couple processor 702 to memory 704 .
  • Bus 712 may include one or more memory buses, as described below.
  • one or more memory management units (MMUs) reside between processor 702 and memory 704 and facilitate accesses to memory 704 requested by processor 702 .
  • memory 704 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 704 may include one or more memories 704 , where appropriate. Although this disclosure describes and illustrates particular memory, this disclosure contemplates any suitable memory.
  • storage 706 includes mass storage for data or instructions.
  • storage 706 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 706 may include removable or non-removable (or fixed) media, where appropriate.
  • Storage 706 may be internal or external to computer system 700 , where appropriate.
  • storage 706 is non-volatile, solid-state memory.
  • storage 706 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 706 taking any suitable physical form.
  • Storage 706 may include one or more storage control units facilitating communication between processor 702 and storage 706 , where appropriate.
  • storage 706 may include one or more storages 706 .
  • this disclosure describes and illustrates particular storage, this disclosure contemplates any suitable storage.
  • I/O interface 708 includes hardware, software, or both providing one or more interfaces for communication between computer system 700 and one or more I/O devices.
  • Computer system 700 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 700 .
  • 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 708 for them.
  • I/O interface 708 may include one or more device or software drivers enabling processor 702 to drive one or more of these I/O devices.
  • I/O interface 708 may include one or more I/O interfaces 708 , where appropriate. Although this disclosure describes and illustrates a particular I/O interface, this disclosure contemplates any suitable I/O interface.
  • communication interface 710 includes hardware, software, or both providing one or more interfaces for communication (such as, for example, packet-based communication) between computer system 700 and one or more other computer systems 700 or one or more networks.
  • communication interface 710 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 700 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 700 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.
  • WPAN wireless PAN
  • WI-FI wireless personal area network
  • WI-MAX wireless personal area network
  • WI-MAX wireless personal area network
  • cellular telephone network such as, for example, a Global System for Mobile Communications (GSM) network
  • GSM Global System
  • bus 712 includes hardware, software, or both coupling components of computer system 700 to each other.
  • bus 712 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 712 may include one or more buses 712 , 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

Abstract

In one embodiment, download a hierarchy of objects from one or more first electronic devices to a second electronic device for presentation to a user of the second electronic device. The objects are presented to the user of the second electronic device according to a structure of the hierarchy. The objects are downloaded to the second electronic device in an order determined based on which specific objects in the hierarchy are currently presented to the user of the second electronic device.

Description

    RELATED APPLICATION(S)
  • This application claims the benefit, under 35 U.S.C. §119(e), of U.S. Provisional Patent Application No. 61/593841, filed 1 Feb. 2012, which is incorporated herein by reference.
  • TECHNICAL FIELD
  • This disclosure generally relates to downloading to and rendering on electronic devices user-consumable content.
  • BACKGROUND
  • Often, computing or electronic devices connected to computer or communication networks, whether through wired or wireless connections, may transmit data to one another over the networks. Typically, for a specific data transmission, there is a sending device and a receiving device, where the data are transmitted from the sending device to the receiving device. Depending on which device has initiated the data transmission, the data may be pushed or pulled from the sending device to the receiving device. In the “push” case, it is the sending device that has initiated the data transmission. On the other hand, in the “pull” case, it is the receiving device that has initiated the data transmission (e.g., by requesting the data from the sending device).
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates an example system for transmitting data from a first device to a second device.
  • FIG. 2 illustrates a portion of an example object hierarchy.
  • FIG. 3 illustrates an example method for downloading a hierarchy of objects.
  • FIG. 4 illustrates an example method for downloading a hierarchy of objects.
  • FIG. 5 illustrates an example visual indicator that shows the current status of downloading a hierarchy of objects.
  • FIG. 6 illustrates an example of downloading a specific version of an object to a device.
  • FIG. 7 illustrates an example electronic device.
  • DESCRIPTION OF EXAMPLE EMBODIMENTS
  • In particular embodiments, data may be transmitted from a first device (e.g., a data-sending device) to a second device (e.g., a data-receiving device) over computer or communication networks. Often, the process of transmitting data from a sending device to a receiving device may be referred to as “downloading” the data from the sending device to the receiving device. The sending and receiving devices may be connected to the networks through wired or wireless connections. In particular embodiments, the data may represent user-consumable content (e.g., texts, images, videos, audios, etc.). The content may be rendered on the data-sending device and presented to a user of the device.
  • There are many types of electronic devices that may be used to render content for user consumption. These devices have different hardware configurations, resources, operating systems, and capabilities. In particular embodiments, for a piece of user-consumable content, there may be multiple versions of that specific piece of content suitable for different types of electronic devices. Different versions of a piece of content may be downloaded to different types of electronic devices for user consumption.
  • In particular embodiments, user-consumable content may be organized into a hierarchy of objects, where each object in the hierarchy corresponds to a specific piece of user-consumable content. The objects may be downloaded to an electronic device in an order determined based on their respective positions in the hierarchy or based on what objects are currently being consumed or likely to be consumed in the near future by a user of the device. In addition, the structure of the hierarchy, or more specifically, the positions of the objects within the hierarchy, indicate relationships among the objects in the hierarchy. In particular embodiments, transmitting data representing a hierarchy of objects to an electronic device includes transmitting both the data representing the objects themselves and the data representing the hierarchical structure (e.g., data representing the positions of the objects within the hierarchy or the relationships among the objects) to the electronic device.
  • In particular embodiments, when presenting a hierarchy of objects to a user for consumption, the objects are organized and presented according to the structure of the hierarchy. The objects may be presented in a user interface (UI) provided on the electronic device. When doing so, the objects are organized and presented in the UI according to the hierarchical structure so that the UI itself becomes hierarchical as well. Consequently, the UI may include a number of layers, respectively corresponding to the levels in the hierarchy. The positions of the objects within the hierarchy are preserved in the UI, such that a specific object at a specific level in the hierarchy is presented in the corresponding layer of the UI. The relationships among the objects within the hierarchy are maintained in the UI. In particular embodiments, on an electronic device, the downloaded objects may be rendered for user consumption based on what objects are currently being consumed or likely to be consumed in the near future by a user of the device.
  • In particular embodiments, there may be any number of computing or electronic devices connected to computer or communication networks through wired or wireless network connections. These devices may transmit data to one another over the networks using any suitable network or communication protocols. As an example, FIG. 1 illustrates a system for transmitting data between two devices (e.g., from a first device to a second device). To simplify the discussion, two devices 110A and 110B are connected to a network 120, each by a link 130.
  • In particular embodiments, network 120 may be an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a metropolitan area network (MAN), a portion of the Internet, another network 120, or a combination of two or more such networks 120. This disclosure contemplates any suitable network 120. In particular embodiments, a link 130 couples each device 110 to network 120. In particular embodiments, link 130 may include one or more wireline, wireless, or optical links. In particular embodiments, link 130 may include an intranet, an extranet, a VPN, a LAN, a WLAN, a WAN, a MAN, a portion of the Internet, another link 130, or a combination of two or more such links 130. This disclosure contemplates any suitable link 130.
  • In particular embodiments, devices 110 may transmit data to each other over network 120. As an example, in a client-server system, device 110A may be a server and device 110B may be a client. Device 110A (e.g., the server) may transmit data to device 110B (e.g., the client). As another example, in a peer-to-peer system, devices 110A and 110B may both be peer nodes. Device 110A may transmit data to device 110B, and vice versa. Suppose that device 110A transmits data to device 110B. In this case, device 110A may be referred to as the “data-sending” device, and device 110B may be referred to as the “data-receiving” device. Data may be pushed or pulled from data-sending device 110A to data-receiving device 110B, depending on which device has actually initiated the data transmission. The process of transmitting data from data-sending device 110A to data-receiving device 110B may also be referred to as “downloading” the data from device 110A to device 110B.
  • In particular embodiments, the data downloaded from one device (e.g., device 110A) to another device (e.g., device 110B) may represent user-consumable content, such as, for example and without limitations, texts, images, videos, audios, executables, feeds, etc., that may be used or viewed or heard or interacted with by a user of a device. In particular embodiments, such user-consumable content may be presented to a user of a device in a suitable user interface (UI) provided on the device. In particular embodiments, the user-consumable content may be organized (e.g., based on how specific pieces of user-consumable content are related to one another) so that the content may be presented to the user in an organized or logical or user-friendly manner, as opposed to, for example, randomly. In such cases, the data downloaded from one device (e.g., device 110A) to another device (e.g., device 110B) may also represent how the individual pieces of user-consumable content are organized (e.g., their organizational structure).
  • One way to organize a group of objects is into a hierarchy. As an example, objects may be organized into a hierarchy based on how the individual objects are related to each other. The 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 As an example, FIG. 2 illustrates a portion of an object hierarchy 200 that includes a number of objects 210. 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 210A). 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” object (e.g., object 210B). If an object does have children (e.g., object 210C), 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, in FIG. 2, object 210C is the parent of objects 210D and 210B. Objects 210D and 210B are the children of object 210C and are siblings to each other. Thus, a hierarchy of objects (e.g., object hierarchy 200) 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 be used to indicate its relationships with other objects in the hierarchy.
  • Objects may be of any applicable types. 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 text blocks, 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 or objects. 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 objects.
  • In some cases, the relationships among the objects may correspond to how the objects are organized and presented to a user. 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 hierarchy. The objects may be presented in a user interface (UI) provided on the device. The objects may be organized and presented in the UI according to the structure of the hierarchy so that the UI itself becomes hierarchical as well. Consequently, the UI may include a number of layers, respectively corresponding to the levels in the hierarchy. The positions of the objects within the hierarchy are preserved in the UI, such that a specific object at a specific position in the hierarchy is presented in the corresponding position in the UI. The relationships among the objects within the hierarchy are maintained in the UI.
  • 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.
  • 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.
  • 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.
  • 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 (UI) or how the objects are presented to a user.
  • In particular embodiments, data representing a hierarchy of objects, including the objects themselves and the structure of the hierarchy, may be downloaded from one device (e.g., a server) to another device (e.g., a client). In particular embodiments, the individual objects in the hierarchy may be transmitted between devices based on their positions in the hierarchy (i.e., the structure of the hierarchy) and thus based on their relationships to each other. In particular embodiments, data representing a hierarchy of objects may be transmitted between two devices one level of the hierarchy at a time. That is, objects at the first level of the hierarchy are downloaded, followed by objects at the second level of the hierarchy, followed by objects at the third level of the hierarchy, and so on, until those objects at the last level of the hierarchy are downloaded. In FIG. 3, which illustrates an example method for downloading a hierarchy of objects from one device to another device, the downloading process is iterative, starting with the first level of the hierarchy and proceeding down one level at a time. During each iteration, data representing the objects at the current level of the hierarchy are downloaded (STEP 310). Then, if there are more levels left in the hierarchy (STEP 320, “YES”), the downloading process moves down to the next level (STEP 330) and another iteration is repeated, until all objects at all the levels have been downloaded.
  • As an example, a hierarchy of objects may represent a book. The book may include any number of sections (e.g., chapters); each section may include any number of pages; and each page may include any number of texts, images, videos, audios, etc. Based on the method illustrated in FIG. 3, the book hierarchy may be downloaded one level at a time. First, the data representing the book (e.g., the book's title, cover page, author, publication information, and table of content (TOC)) may be downloaded, followed by the data representing the individual sections (e.g., each section's title, summary, background page, and page index), following by the data representing the pages of the sections, followed by the data representing the content (e.g., texts, images, videos, audios, etc.) of the pages. When a user first opens the book, the TOC of the book, including the thumbnail versions of the pages, may be downloaded first. This allows the user to browse the entire book quickly and get an overview of the structure of the book. While the user is browsing the book on a superficial level, objects at lower levels of the hierarchy (e.g., the sections and pages) may be downloaded so that they are available when the user is ready to dive into specific sections of the book.
  • Alternatively or in addition, in particular embodiments, data representing a hierarchy of objects may be transmitted between two devices one section of the hierarchy at a time. That is, at a particular level, a first object is downloaded, followed by all the child objects of that first object. Then, a second object is downloaded, following by all the child objects of that second object. Then a third object is downloaded, following by all the child objects of that third object. And so on, until all the objects in the hierarchy are downloaded. In FIG. 4, which illustrates another example method for downloading a hierarchy of objects from one device to another device, the downloading process is again iterative, starting with the first object at a particular level of the hierarchy. During each iteration, data representing the current object at the current level of the hierarchy are downloaded (STEP 410). Then, if the current object has any child objects that have not been downloaded (STEP 420, “YES”), data representing those child objects are downloaded (STEP 430). If there are more objects at the current level (STEP 440, “YES”), then the downloading process moves over to the next object at the current level (STEP 450) and another iteration is repeated, until all the objects in the hierarchy are downloaded.
  • In particular embodiments, the two concepts illustrated in FIGS. 3 and 4 may be combined. As an example, given a hierarchy of objects, for the higher levels in the hierarchy, the objects may be downloaded one level at a time (e.g., as illustrated in FIG. 3). On the other hand, for the lower levels in the hierarchy, the objects may be downloaded one section at a time, where a parent object is downloaded, followed by downloading its child objects (e.g., as illustrated in FIG. 4). With the example where a hierarchy of objects representing a book, first, the objects at the higher levels of the hierarchy, such as those corresponding to the book and the sections in the book, may be downloaded one level at a time (e.g., first downloading the book, then downloading the sections of the book). This allows the user to browse through the entire book. For example, a digital book may include introductory content (e.g., video, slideshow, audio clip, animation, etc.). While the user is consuming (e.g., reading, viewing, or listening to) the introductory content of the book, the rest of the sections of the book may be downloaded. Then, when a user selects a specific section to read in further detail, the pages and content of each page in that section may be downloaded before the other sections, if they have not already been downloaded. This way, even if the user has selected a section in the middle or near the end of the book, the content of the user-selected section becomes available to the user quickly. The user does not need to wait for the content of all the proceeding sections in the book to be downloaded before the content of the user-selected section is downloaded. While the user is reading one section, another section (e.g., a section immediately before or after the currently user-selected section) may be downloaded. In other words, data representing objects (e.g., user-consumable content) may be downloaded incrementally and intelligently (e.g., based on what content the user is currently consuming or is likely to consume soon).
  • In particular embodiments, objects in a hierarchy may be downloaded to a device for user consumption based on what objects a user of the device is currently consuming (e.g., viewing, listening to, or interacting with). With the example where a hierarchy of objects representing a book, suppose that the user is currently reading Chapter 4 of the book. All the pages in Chapter 4, as well as the content included in each page, may be downloaded first. Thereafter, while the user is reading Chapter 4, the other chapters may be downloaded. For example, the pages in Chapter 5 and their content may be downloaded next, as it is likely that after Chapter 4, the user will read Chapter 5 next. The pages in Chapter 3 and their content may be downloaded sooner rather than later as well, as it is possible that the user may want to refer back to Chapter 3. In other words, those chapters in the book that are closer to the chapter the user is currently reading may be downloaded first. Then, the other chapters (e.g., chapters 10, 11, 12 . . . ) may be downloaded.
  • In particular embodiments, the objects may be downloaded in an order determined based on what objects are presented to the user or the user is consuming now as well as what objects are likely to be presented to the user or consumed by the user in the near future. In other words, in particular embodiments, there is an attempt to estimate or predict an order that the objects are to be presented to the user in the future (e.g., predicting in what order the user is likely to consume the objects). For example, the prediction of what content the user is likely to consumer soon may be based on the user's actions, including current actions and recently-past actions, with respect to the objects (e.g., which section of the book the user is currently reading or has just finished reading). Those objects that the user is likely to consume sooner may be downloaded first, before those object that the user is likely to consumer later, so that the user does not need to wait for the objects to be downloaded. In other words, the user's interactions with objects at specific positions within the hierarchical structure may help determines which objects are downloaded sooner and which objects are downloaded later. The objects are prioritized for downloading to the user's device. The objects that are needed sooner (e.g., the user is likely to consume these objects soon) may be downloaded first, and the objects that are needed later may be downloaded second. For example, if a user is currently viewing a parent object (e.g., a chapter's title page), the current object's child objects (e.g., the pages in the chapter) may be downloaded first.
  • When a user consumes objects (e.g., viewing, listening to, or interacting with the objects), the user may interact with the objects (e.g., manipulating, handling, or scrolling through the objects) through various user input means using, for example, a keyboard, a mouse, a stylus, or the user's fingers. As an example, the user may scroll through a series of objects (e.g., a series of images included in a photo album or a series of photo albums included in the user's profile page) by sliding the user's finger or fingers across a touch-sensitive display screen of the user's device. This sliding motion, which is often referred to as a “swipe”, may result in a vector representing the direction and the speed or acceleration of each sliding movement of the user's fingers.
  • In particular embodiments, the vector of a user's touch input (e.g., using the user's fingers or a stylus), 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. As an 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 (e.g., software implementing the social-networking website) 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. As an 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 the 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 downloading the child objects (e.g., the individual photos) of the currently-viewed album cover to the user's device.
  • In particular embodiments, while a hierarchy of objects are being downloaded to a user's device, a visual component (e.g., displayed on the user's device) may indicate the current status of the downloading process. As an example, a progress bar 510, as illustrated in FIG. 5, may indicate the current status of downloading a chapter of a book.
  • Similar to prioritizing object downloading based on what objects a user may be likely to consume sooner and what objects the user may be likely to consume later, in particular embodiments, after objects have been downloaded to a user's device, they may be rendered (e.g., for presentation to the user) in an order determined based on what objects the user may be likely to consume sooner and what objects the user may be likely to consume later. Those objects that the user is likely to consume sooner are rendered first, before those the user is likely to consume later. With the example where a hierarchy of objects representing a book, the pages of the section the user is currently reading may be rendered first. In particular embodiments, a rendered object may be stored in a buffer (e.g., in cache) so that it is readily available for presentation to the user. Consequently, the user does not need to wait for objects to be rendered before the objects are presented to the user.
  • As another example, 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 (e.g., which section or which page the user is currently reading). The digital book application may extrapolate from the user's screen size to determine the size and contents of the buffer.
  • In particular embodiments, given a specific object (e.g., image, video, audio, etc.) in a hierarchy, there may be different versions of the same object tailored to different types of electronic devices. Different types of devices may have different resources (e.g., processors, memories, network connections, etc.), capabilities (e.g., hardware and software), or operational environments (e.g., operating systems). For example, some devices may have powerful processors, large amounts of cache, fast network connections, big display screens, etc. Conversely, some devices may have lesser capabilities. A specific object may have different versions tailored to devices having different resources and capabilities. As an example, an image may have different versions with different resolutions, dimensions, or formats suitable for different types of devices. The same image may be zoomable on some types of devices but not others. As another example, a video may have different versions with different qualities, compression rates, or formats suitable for different types of devices. A smartphone may receive a lower resolution version of the image while a tablet may receive a higher resolution version of the image, as the smartphone probably has a smaller display screen than the tablet. A device with a faster network connection (e.g., Ethernet connection) may receive a higher quality version of the video while another device with a slower network connection (e.g., cellular telephone connection) may receive a lower quality version of the video, as the first device is able to download the video data faster than the second device.
  • In particular embodiments, given a specific hierarchy of objects, there may be different versions of the same object hierarchy tailored to different types of electronic devices. The structure of the hierarchy (e.g., in terms of object positions or the specific objects in the hierarchy) may differ somewhat between the versions. Alternatively or in addition, some of the objects in the hierarchy may each have different versions. As an example, there may be different versions of a book tailored to different types of devices. For a device with more resources (e.g., fast network connections, more memory), the version of the book may include more multimedia content (e.g., videos, audios) or higher quality multimedia content. For a device with less resources, the version of the book may include more textual content or lower quality multimedia content.
  • FIG. 6 illustrates an example method for downloading different versions of an object to different types of devices. If an object is to be downloaded to a device and there are multiple versions of the object (STEP 610, “YES”), then in particular embodiments, a specific version of the object is selected based on the resources or capabilities (e.g., hardware or software configurations) of the device (STEP 620). The selected version of the object is more suitable for the device to which it is to be downloaded. The selected version of the object is downloaded to the device (STEP 630). On the other hand, if the object does not have multiple versions (STEP 610, “NO), the object is downloaded to the device (STEP 640).
  • Particular embodiments may be implemented on one or more electronic devices or computer systems. FIG. 7 illustrates an example electronic device 700. For example, computer system 700 may be an embodiment for device 110A or device 110B illustrated in FIG. 1. In particular embodiments, one or more computer systems 700 perform one or more steps of one or more methods described or illustrated herein. In particular embodiments, one or more computer systems 700 provide functionality described or illustrated herein. In particular embodiments, software running on one or more computer systems 700 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 700.
  • This disclosure contemplates any suitable number of computer systems 700. This disclosure contemplates computer system 700 taking any suitable physical form. As example and not by way of limitation, computer system 700 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 700 may include one or more computer systems 700; 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 or more computer systems 700 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 or more computer systems 700 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 700 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 700 includes a processor 702, memory 704, storage 706, an input/output (I/O) interface 708, a communication interface 710, and a bus 712. 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 702 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 702 may retrieve (or fetch) the instructions from an internal register, an internal cache, memory 704, or storage 706; decode and execute them; and then write one or more results to an internal register, an internal cache, memory 704, or storage 706. In particular embodiments, processor 702 may include one or more internal caches for data, instructions, or addresses. This disclosure contemplates processor 702 including any suitable number of any suitable internal caches, where appropriate. As an example and not by way of limitation, processor 702 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 704 or storage 706, and the instruction caches may speed up retrieval of those instructions by processor 702. Data in the data caches may be copies of data in memory 704 or storage 706 for instructions executing at processor 702 to operate on; the results of previous instructions executed at processor 702 for access by subsequent instructions executing at processor 702 or for writing to memory 704 or storage 706; or other suitable data. The data caches may speed up read or write operations by processor 702. The TLBs may speed up virtual-address translation for processor 702. In particular embodiments, processor 702 may include one or more internal registers for data, instructions, or addresses. This disclosure contemplates processor 702 including any suitable number of any suitable internal registers, where appropriate. Where appropriate, processor 702 may include one or more arithmetic logic units (ALUs); be a multi-core processor; or include one or more processors 702. Although this disclosure describes and illustrates a particular processor, this disclosure contemplates any suitable processor.
  • In particular embodiments, memory 704 includes main memory for storing instructions for processor 702 to execute or data for processor 702 to operate on. As an example and not by way of limitation, computer system 700 may load instructions from storage 706 or another source (such as, for example, another computer system 700) to memory 704. Processor 702 may then load the instructions from memory 704 to an internal register or internal cache. To execute the instructions, processor 702 may retrieve the instructions from the internal register or internal cache and decode them. During or after execution of the instructions, processor 702 may write one or more results (which may be intermediate or final results) to the internal register or internal cache. Processor 702 may then write one or more of those results to memory 704. In particular embodiments, processor 702 executes only instructions in one or more internal registers or internal caches or in memory 704 (as opposed to storage 706 or elsewhere) and operates only on data in one or more internal registers or internal caches or in memory 704 (as opposed to storage 706 or elsewhere). One or more memory buses (which may each include an address bus and a data bus) may couple processor 702 to memory 704. Bus 712 may include one or more memory buses, as described below. In particular embodiments, one or more memory management units (MMUs) reside between processor 702 and memory 704 and facilitate accesses to memory 704 requested by processor 702. In particular embodiments, memory 704 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 704 may include one or more memories 704, where appropriate. Although this disclosure describes and illustrates particular memory, this disclosure contemplates any suitable memory.
  • In particular embodiments, storage 706 includes mass storage for data or instructions. As an example and not by way of limitation, storage 706 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 706 may include removable or non-removable (or fixed) media, where appropriate. Storage 706 may be internal or external to computer system 700, where appropriate. In particular embodiments, storage 706 is non-volatile, solid-state memory. In particular embodiments, storage 706 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 contemplates mass storage 706 taking any suitable physical form. Storage 706 may include one or more storage control units facilitating communication between processor 702 and storage 706, where appropriate. Where appropriate, storage 706 may include one or more storages 706. Although this disclosure describes and illustrates particular storage, this disclosure contemplates any suitable storage.
  • In particular embodiments, I/O interface 708 includes hardware, software, or both providing one or more interfaces for communication between computer system 700 and one or more I/O devices. Computer system 700 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 700. 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 708 for them. Where appropriate, I/O interface 708 may include one or more device or software drivers enabling processor 702 to drive one or more of these I/O devices. I/O interface 708 may include one or more I/O interfaces 708, 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 710 includes hardware, software, or both providing one or more interfaces for communication (such as, for example, packet-based communication) between computer system 700 and one or more other computer systems 700 or one or more networks. As an example and not by way of limitation, communication interface 710 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 any suitable communication interface 710 for it. As an example and not by way of limitation, computer system 700 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 700 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 700 may include any suitable communication interface 710 for any of these networks, where appropriate. Communication interface 710 may include one or more communication interfaces 710, where appropriate. Although this disclosure describes and illustrates a particular communication interface, this disclosure contemplates any suitable communication interface.
  • In particular embodiments, bus 712 includes hardware, software, or both coupling components of computer system 700 to each other. As an example and not by way of limitation, bus 712 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 712 may include one or more buses 712, 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)

What is claimed is:
1. A method, performed by one or more first electronic devices, comprising:
downloading a hierarchy of objects to a second electronic device for presentation to a user of the second electronic device,
the objects are presented to the user of the second electronic device according to a structure of the hierarchy, and
the objects are downloaded to the second electronic device in an order determined based on which specific objects in the hierarchy are currently presented to the user of the second electronic device.
2. The method of claim 1, wherein the objects are downloaded to the second electronic device in the order determined based further on a predicted order for presenting the objects to the user, such that if a first object is likely to be presented to the user before a second object, then the first object is downloaded to the second electronic device before the second object.
3. The method of claim 2, wherein the predicted order for presenting the objects to the user is determined based on positions in the hierarchy of the specific objects that are currently presented to the user.
4. The method of claim 2, wherein the predicted order for presenting the objects to the user is determined based on movements made by the user when interacting with the specific objects that are currently presented to the user.
5. The method of claim 1, wherein one or more objects in the hierarchy each has a plurality of versions suitable for a plurality of types of electronic devices.
6. The method of claim 5, further comprising
when downloading a specific object to the second electronic device, if the specific object has a plurality of versions, then:
selecting a specific version of the specific object based on a type of the second electronic device; and
downloading the specific version of the specific object to the second electronic device.
7. The method of claim 6, wherein the specific version of the specific object is selected based on a hardware configuration of the second electronic device.
8. The method of claim 6, wherein the specific version of the specific object is selected based on a software configuration of the second electronic device.
9. The method of claim 1, further comprising rendering the objects on the second electronic device in the order determined based on which specific objects in the hierarchy are currently presented to the user of the second electronic device.
10. The method of claim 9, wherein the objects are rendered on the second electronic device in the order determined based further on the predicted order for presenting the objects to the user, such that if a first object is likely to be presented to the user before a second object, then the first object is rendered on the second electronic device before the second object.
11. A first apparatus comprising:
a memory comprising instructions executable by one or more processors; and
the one or more processors coupled to the memory and operable to execute the instructions, the one or more processors being operable when executing the instructions to:
download a hierarchy of objects to a second electronic device for presentation to a user of the second electronic device,
the objects are presented to the user of the second electronic device according to a structure of the hierarchy, and
the objects are downloaded to the second electronic device in an order determined based on which specific objects in the hierarchy are currently presented to the user of the second electronic device.
12. The apparatus of claim 11, wherein the objects are downloaded to the second electronic device in the order determined based further on a predicted order for presenting the objects to the user, such that if a first object is likely to be presented to the user before a second object, then the first object is downloaded to the second electronic device before the second object.
13. The apparatus of claim 12, wherein the predicted order for presenting the objects to the user is determined based on positions in the hierarchy of the specific objects that are currently presented to the user.
14. The apparatus of claim 12, wherein the predicted order for presenting the objects to the user is determined based on movements made by the user when interacting with the specific objects that are currently presented to the user.
15. The apparatus of claim 11, wherein:
one or more objects in the hierarchy each has a plurality of versions suitable for a plurality of types of electronic devices; and
the processors are further operable when executing the instructions to:
when downloading a specific object to the second electronic device, if the specific object has a plurality of versions, then:
select a specific version of the specific object based on a type of the second electronic device; and
download the specific version of the specific object to the second electronic device.
16. One or more computer-readable non-transitory storage media embodying logic that is operable when executed to:
download a hierarchy of objects to a second electronic device for presentation to a user of the second electronic device,
the objects are presented to the user of the second electronic device according to a structure of the hierarchy, and
the objects are downloaded to the second electronic device in an order determined based on which specific objects in the hierarchy are currently presented to the user of the second electronic device.
17. The media of claim 16, wherein the objects are downloaded to the second electronic device in the order determined based further on a predicted order for presenting the objects to the user, such that if a first object is likely to be presented to the user before a second object, then the first object is downloaded to the second electronic device before the second object.
18. The media of claim 17, wherein the predicted order for presenting the objects to the user is determined based on positions in the hierarchy of the specific objects that are currently presented to the user.
19. The media of claim 17, wherein the predicted order for presenting the objects to the user is determined based on movements made by the user when interacting with the specific objects that are currently presented to the user.
20. The media of claim 16, wherein:
one or more objects in the hierarchy each has a plurality of versions suitable for a plurality of types of electronic devices; and
the logic is further operable when executed to:
when downloading a specific object to the second electronic device, if the specific object has a plurality of versions, then:
select a specific version of the specific object based on a type of the second electronic device; and
download the specific version of the specific object to the second electronic device.
US13/489,172 2012-02-01 2012-06-05 Intelligent Downloading and Rendering of Content Abandoned US20130198261A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/489,172 US20130198261A1 (en) 2012-02-01 2012-06-05 Intelligent Downloading and Rendering of Content

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261593841P 2012-02-01 2012-02-01
US13/489,172 US20130198261A1 (en) 2012-02-01 2012-06-05 Intelligent Downloading and Rendering of Content

Publications (1)

Publication Number Publication Date
US20130198261A1 true US20130198261A1 (en) 2013-08-01

Family

ID=48869809

Family Applications (22)

Application Number Title Priority Date Filing Date
US13/488,039 Active 2032-08-11 US9229613B2 (en) 2012-02-01 2012-06-04 Transitions among hierarchical user interface components
US13/487,805 Active US9552147B2 (en) 2012-02-01 2012-06-04 Hierarchical user interface
US13/487,765 Active US9235317B2 (en) 2012-02-01 2012-06-04 Summary and navigation of hierarchical levels
US13/488,076 Expired - Fee Related US9235318B2 (en) 2012-02-01 2012-06-04 Transitions among hierarchical user-interface layers
US13/489,172 Abandoned US20130198261A1 (en) 2012-02-01 2012-06-05 Intelligent Downloading and Rendering of Content
US13/489,265 Active 2032-08-08 US8984428B2 (en) 2012-02-01 2012-06-05 Overlay images and texts in user interface
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,876 Active 2033-02-14 US9606708B2 (en) 2012-02-01 2012-07-23 User intent during object scrolling
US13/555,607 Active 2033-03-21 US9007371B2 (en) 2012-02-01 2012-07-23 Three-dimensional shadows cast by objects
US13/555,657 Active 2033-04-19 US8990719B2 (en) 2012-02-01 2012-07-23 Preview of objects arranged in a series
US13/555,909 Expired - Fee Related US9098168B2 (en) 2012-02-01 2012-07-23 Spring motions during object animation
US13/555,845 Active 2032-08-24 US8976199B2 (en) 2012-02-01 2012-07-23 Visual embellishment for objects
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 (4)

Application Number Title Priority Date Filing Date
US13/488,039 Active 2032-08-11 US9229613B2 (en) 2012-02-01 2012-06-04 Transitions among hierarchical user interface components
US13/487,805 Active US9552147B2 (en) 2012-02-01 2012-06-04 Hierarchical user interface
US13/487,765 Active US9235317B2 (en) 2012-02-01 2012-06-04 Summary and navigation of hierarchical levels
US13/488,076 Expired - Fee Related US9235318B2 (en) 2012-02-01 2012-06-04 Transitions among hierarchical user-interface layers

Family Applications After (17)

Application Number Title Priority Date Filing Date
US13/489,265 Active 2032-08-08 US8984428B2 (en) 2012-02-01 2012-06-05 Overlay images and texts in user interface
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,876 Active 2033-02-14 US9606708B2 (en) 2012-02-01 2012-07-23 User intent during object scrolling
US13/555,607 Active 2033-03-21 US9007371B2 (en) 2012-02-01 2012-07-23 Three-dimensional shadows cast by objects
US13/555,657 Active 2033-04-19 US8990719B2 (en) 2012-02-01 2012-07-23 Preview of objects arranged in a series
US13/555,909 Expired - Fee Related US9098168B2 (en) 2012-02-01 2012-07-23 Spring motions during object animation
US13/555,845 Active 2032-08-24 US8976199B2 (en) 2012-02-01 2012-07-23 Visual embellishment for objects
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

Country Status (1)

Country Link
US (22) US9229613B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130339435A1 (en) * 2012-06-19 2013-12-19 International Business Machines Corporation Photo album creation based on social media content
US20140280783A1 (en) * 2013-03-15 2014-09-18 Haixiang He Method and Apparatus for Improving Downloading Performance Based on Reading Intent for Digital Magazine
US8976199B2 (en) 2012-02-01 2015-03-10 Facebook, Inc. Visual embellishment for objects
US9557876B2 (en) 2012-02-01 2017-01-31 Facebook, Inc. Hierarchical user interface
US20170078346A1 (en) * 2015-09-15 2017-03-16 Piksel, Inc. Dynamic Resource Allocation of Multimedia Content Based on Usage Patterns
US9645724B2 (en) 2012-02-01 2017-05-09 Facebook, Inc. Timeline based content organization
US10812564B1 (en) * 2013-08-09 2020-10-20 Google Llc Preloading content for requesting applications

Families Citing this family (187)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US7885440B2 (en) 2004-11-04 2011-02-08 Dr Systems, Inc. Systems and methods for interleaving series of medical images
US7920152B2 (en) 2004-11-04 2011-04-05 Dr Systems, Inc. Systems and methods for viewing medical 3D imaging volumes
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
EP2507691A4 (en) * 2010-01-20 2013-09-11 Nokia Corp User input
US9396167B2 (en) 2011-07-21 2016-07-19 Flipboard, Inc. Template-based page layout for hosted social magazines
US9075899B1 (en) 2011-08-11 2015-07-07 D.R. Systems, Inc. Automated display settings for categories of items
US9323440B2 (en) * 2011-12-16 2016-04-26 International Business Machines Corporation Scroll focus
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
EP2834795B1 (en) * 2012-04-05 2019-11-06 Isotropix Method and device for processing information
US20130321313A1 (en) * 2012-05-31 2013-12-05 Htc Corporation Method, apparatus and computer program product for cropping screen frame
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
JP2014086836A (en) * 2012-10-23 2014-05-12 Canon Inc Image processing apparatus, control method, and program
JP6081769B2 (en) * 2012-10-23 2017-02-15 任天堂株式会社 Program, information processing apparatus, information processing method, and information processing system
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
US9785240B2 (en) * 2013-03-18 2017-10-10 Fuji Xerox Co., Ltd. Systems and methods for content-aware selection
US20160110046A1 (en) * 2013-03-29 2016-04-21 Hewlett-Packard Development Company, L.P. 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
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
US9519525B2 (en) * 2013-11-14 2016-12-13 Dropbox, Inc. File-level commenting
CN103593111A (en) * 2013-11-14 2014-02-19 三星电子(中国)研发中心 Screen sharing method for mobile terminals and mobile terminals
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
KR102308879B1 (en) * 2013-12-19 2021-10-06 삼성전자주식회사 Display apparatus and method for displaying a screen
WO2015093806A1 (en) 2013-12-19 2015-06-25 Samsung Electronics Co., Ltd. Display apparatus and method of displaying image by display apparatus
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
US20150277678A1 (en) * 2014-03-26 2015-10-01 Kobo Incorporated Information presentation techniques for digital content
US20150277677A1 (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
CN115269087A (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
AU2015280256A1 (en) 2014-06-24 2016-10-13 Apple Inc. Column interface for navigating in a user interface
CN111078109B (en) 2014-06-24 2024-01-09 苹果公司 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
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
US10476937B2 (en) * 2014-10-20 2019-11-12 Facebook, Inc. Animation for image elements in a display layout
USD770520S1 (en) * 2015-01-20 2016-11-01 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
USD759706S1 (en) * 2015-01-20 2016-06-21 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
USD771692S1 (en) * 2015-01-20 2016-11-15 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
US20170039321A1 (en) 2015-04-30 2017-02-09 D.R. Systems, Inc. Database systems and interactive user interfaces for dynamic interaction with, and sorting 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
US10042532B2 (en) * 2015-05-05 2018-08-07 Facebook, Inc. Methods and systems for viewing embedded content
US20160328127A1 (en) * 2015-05-05 2016-11-10 Facebook, Inc. Methods and Systems for Viewing Embedded Videos
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
US20160334969A1 (en) * 2015-05-11 2016-11-17 Facebook, Inc. Methods and Systems for Viewing an Associated Location of an Image
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
CN105338399A (en) * 2015-10-29 2016-02-17 小米科技有限责任公司 Image acquisition method and device
US11157689B2 (en) 2015-11-02 2021-10-26 Microsoft Technology Licensing, Llc Operations on dynamic data associated with cells in spreadsheets
US10713428B2 (en) 2015-11-02 2020-07-14 Microsoft Technology Licensing, Llc Images 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
US10788966B2 (en) 2016-02-10 2020-09-29 Disney Enterprises, Inc. Systems and methods for interacting with a virtual interface
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
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
DK201670582A1 (en) 2016-06-12 2018-01-02 Apple Inc Identifying applications on which content is available
DK201670581A1 (en) 2016-06-12 2018-01-08 Apple Inc Device-level authorization for viewing content
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
US20180113579A1 (en) 2016-10-26 2018-04-26 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
WO2019222887A1 (en) * 2018-05-21 2019-11-28 华为技术有限公司 Display control method and terminal
DK201870354A1 (en) 2018-06-03 2019-12-20 Apple Inc. Setup procedures for an electronic device
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
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
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
USD918254S1 (en) 2019-01-10 2021-05-04 Pearson Education, Inc. Display screen with graphical user interface
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
JP7289661B2 (en) * 2019-01-31 2023-06-12 キヤノン株式会社 Information processing device, control method, and its program
US20200301567A1 (en) 2019-03-24 2020-09-24 Apple Inc. User interfaces for viewing and accessing content on an electronic device
US11445263B2 (en) 2019-03-24 2022-09-13 Apple Inc. User interfaces including selectable representations of content items
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
CN113906380A (en) 2019-05-31 2022-01-07 苹果公司 User interface for podcast browsing and playback applications
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
US20220343058A1 (en) * 2021-04-23 2022-10-27 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

Citations (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5727129A (en) * 1996-06-04 1998-03-10 International Business Machines Corporation Network system for profiling and actively facilitating user activities
US20020087555A1 (en) * 2000-12-28 2002-07-04 Casio Computer Co., Ltd. Electronic book data delivery apparatus, electronic book device and recording medium
US20020107892A1 (en) * 2000-12-12 2002-08-08 Oracle Corporation Dynamic tree control system
US20030071800A1 (en) * 2001-10-16 2003-04-17 Vincent Kent D. Portable electronic reading apparatus
US20030093545A1 (en) * 2001-11-14 2003-05-15 Inventec Tomorrow Work Studio Corporation, Taiwan Method and system for downloading data to portable electronic device
US20030236917A1 (en) * 2002-06-17 2003-12-25 Gibbs Matthew E. Device specific pagination of dynamically rendered data
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
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
US20050262149A1 (en) * 2004-05-17 2005-11-24 Samsung Electronics Co., Ltd. Method of and apparatus for reproducing downloaded data along with data recorded on storage medium
US20060056334A1 (en) * 2004-08-31 2006-03-16 Arizan Corporation Method for paginating a document structure of a document for viewing on a mobile communication device
US20090309846A1 (en) * 2008-06-11 2009-12-17 Marc Trachtenberg Surface computing collaboration system, method and apparatus
US7724696B1 (en) * 2006-03-29 2010-05-25 Amazon Technologies, Inc. Predictive reader power management
US20110027686A1 (en) * 2009-07-31 2011-02-03 Honda Motor Co., Ltd. Membrane-electrode assembly for solid polymer electrolyte fuel cell and solid polymer electrolyte fuel cell
WO2011069424A1 (en) * 2009-12-11 2011-06-16 华为技术有限公司 Methods, devices and system for issuing and downloading electronic book
US20110185314A1 (en) * 2007-05-08 2011-07-28 Adobe Systems Incorporated Interactive thumbnails for transferring content among electronic documents
US20110246614A1 (en) * 2010-03-31 2011-10-06 Bank Of America Corporation Mobile Content Management
US20110276863A1 (en) * 2010-05-10 2011-11-10 Bhise Mohar H Providing Text Content Embedded with Multimedia Content
US20120233565A1 (en) * 2011-03-09 2012-09-13 Apple Inc. System and method for displaying content
US20130073364A1 (en) * 2011-09-16 2013-03-21 Ysk Media Ltd. Method of Downloading Contents
US20130073932A1 (en) * 2011-08-19 2013-03-21 Apple Inc. Interactive Content for Digital Books
US8423889B1 (en) * 2008-06-05 2013-04-16 Amazon Technologies, Inc. Device specific presentation control for electronic book reader devices
US20130183943A1 (en) * 2012-01-17 2013-07-18 Daniel TOW Remote viewing apparatus for smartphone
US8499236B1 (en) * 2010-01-21 2013-07-30 Amazon Technologies, Inc. Systems and methods for presenting reflowable content on a display
US20140096079A1 (en) * 2011-04-26 2014-04-03 Sharp Kabushiki Kaisha Display device, display method, and non-transitory computer-readable recording medium
US8725565B1 (en) * 2006-09-29 2014-05-13 Amazon Technologies, Inc. Expedited acquisition of a digital item following a sample presentation of the item
US8799658B1 (en) * 2010-03-02 2014-08-05 Amazon Technologies, Inc. Sharing media items with pass phrases
US8812658B1 (en) * 2011-05-20 2014-08-19 Amazon Technologies, Inc. Pre-fetching of network page content

Family Cites Families (205)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3587625D1 (en) 1984-11-12 1993-11-18 Advantest Corp 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
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
US7002583B2 (en) 2000-08-03 2006-02-21 Stono Technologies, Llc Display of images and image transitions
EP1314083A2 (en) 2000-08-04 2003-05-28 Copan Inc. Method and system for presenting digital media
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
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
US20080060011A1 (en) 2000-12-22 2008-03-06 Hillcrest Laboratories, Inc. Zoomable user interfaces for television
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
US7312785B2 (en) 2001-10-22 2007-12-25 Apple Inc. Method and apparatus for accelerated scrolling
US8539344B2 (en) 2001-11-19 2013-09-17 Ricoh Company, Ltd. Paper-based interface for multimedia information stored by multiple multimedia documents
US8635531B2 (en) 2002-02-21 2014-01-21 Ricoh Company, Ltd. Techniques for displaying information stored in 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
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
CA2525587C (en) 2003-05-15 2015-08-11 Comcast Cable Holdings, 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
JP4449587B2 (en) * 2004-06-09 2010-04-14 富士フイルム株式会社 Image mapping method and image mapping program
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
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
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
US8307392B2 (en) 2007-06-11 2012-11-06 Yahoo! Inc. Systems and methods for inserting ads during playback of video media
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
WO2009026508A1 (en) 2007-08-22 2009-02-26 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for providing content-aware scrolling
US9477395B2 (en) 2007-09-04 2016-10-25 Apple Inc. Audio file interface
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
JP5203655B2 (en) * 2007-09-07 2013-06-05 キヤノン株式会社 Content display device and display method thereof
JP2011501289A (en) 2007-10-16 2011-01-06 ヒルクレスト・ラボラトリーズ・インコーポレイテッド Fast and smooth scrolling of the user interface running on the thin client
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
CN101911072B (en) * 2008-01-10 2017-11-17 皇家飞利浦电子股份有限公司 The method searched in 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
US8997018B2 (en) * 2008-03-04 2015-03-31 Synaptics Incorporated Presenting a menu
US9418171B2 (en) 2008-03-04 2016-08-16 Apple Inc. Acceleration of rendering of web-based content
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
US20090271731A1 (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
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
JP5346941B2 (en) 2008-09-16 2013-11-20 パナソニック株式会社 Data display apparatus, integrated circuit, 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
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
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
US9081464B2 (en) 2009-11-20 2015-07-14 Adobe Systems Incorporated Object selection
KR20110058089A (en) * 2009-11-25 2011-06-01 한국전자통신연구원 Apparatus and method of managing objects and events by using vector based geographic information system
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
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
US8438504B2 (en) 2010-01-06 2013-05-07 Apple Inc. Device, method, and graphical user interface for navigating through multiple viewing areas
KR20120124443A (en) * 2010-01-11 2012-11-13 애플 인크. Electronic text manipulation and display
KR101087479B1 (en) 2010-01-29 2011-11-25 주식회사 팬택 Multi display device and method for controlling the same
EP2357575A1 (en) * 2010-02-12 2011-08-17 Research In Motion Limited Image-based and predictive browsing
US9417787B2 (en) 2010-02-12 2016-08-16 Microsoft Technology Licensing, Llc Distortion effects to indicate location in a movable data collection
US8539384B2 (en) 2010-02-25 2013-09-17 Microsoft Corporation Multi-screen pinch and expand gestures
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
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
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
US8782513B2 (en) 2011-01-24 2014-07-15 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
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
US8893184B2 (en) 2011-07-15 2014-11-18 Intel Corporation Mechanism for facilitating multiple multimedia viewing planes in media display systems
EP2592828A1 (en) 2011-11-09 2013-05-15 OpenTV, Inc. Apparatus and method for navigating an electronic program guide
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
EP2587361A3 (en) 2011-10-25 2016-05-11 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
US8930992B2 (en) 2012-01-19 2015-01-06 Sony Corporation TV social network advertising
US9645724B2 (en) 2012-02-01 2017-05-09 Facebook, Inc. Timeline based content organization
US9229613B2 (en) 2012-02-01 2016-01-05 Facebook, Inc. Transitions among hierarchical user interface components
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
US9864482B2 (en) 2012-03-13 2018-01-09 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
US9429435B2 (en) * 2012-06-05 2016-08-30 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

Patent Citations (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5727129A (en) * 1996-06-04 1998-03-10 International Business Machines Corporation Network system for profiling and actively facilitating user activities
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
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
US20020107892A1 (en) * 2000-12-12 2002-08-08 Oracle Corporation Dynamic tree control system
US20020087555A1 (en) * 2000-12-28 2002-07-04 Casio Computer Co., Ltd. Electronic book data delivery apparatus, electronic book device and recording medium
US20030071800A1 (en) * 2001-10-16 2003-04-17 Vincent Kent D. Portable electronic reading apparatus
US20030093545A1 (en) * 2001-11-14 2003-05-15 Inventec Tomorrow Work Studio Corporation, Taiwan Method and system for downloading data to portable electronic device
US20030236917A1 (en) * 2002-06-17 2003-12-25 Gibbs Matthew E. Device specific pagination of dynamically rendered data
US20050262149A1 (en) * 2004-05-17 2005-11-24 Samsung Electronics Co., Ltd. Method of and apparatus for reproducing downloaded data along with data recorded on storage medium
US20060056334A1 (en) * 2004-08-31 2006-03-16 Arizan Corporation Method for paginating a document structure of a document for viewing on a mobile communication device
US7724696B1 (en) * 2006-03-29 2010-05-25 Amazon Technologies, Inc. Predictive reader power management
US8725565B1 (en) * 2006-09-29 2014-05-13 Amazon Technologies, Inc. Expedited acquisition of a digital item following a sample presentation of the item
US20110185314A1 (en) * 2007-05-08 2011-07-28 Adobe Systems Incorporated Interactive thumbnails for transferring content among electronic documents
US8423889B1 (en) * 2008-06-05 2013-04-16 Amazon Technologies, Inc. Device specific presentation control for electronic book reader devices
US20090309846A1 (en) * 2008-06-11 2009-12-17 Marc Trachtenberg Surface computing collaboration system, method and apparatus
US20110027686A1 (en) * 2009-07-31 2011-02-03 Honda Motor Co., Ltd. Membrane-electrode assembly for solid polymer electrolyte fuel cell and solid polymer electrolyte fuel cell
WO2011069424A1 (en) * 2009-12-11 2011-06-16 华为技术有限公司 Methods, devices and system for issuing and downloading electronic book
US8499236B1 (en) * 2010-01-21 2013-07-30 Amazon Technologies, Inc. Systems and methods for presenting reflowable content on a display
US8799658B1 (en) * 2010-03-02 2014-08-05 Amazon Technologies, Inc. Sharing media items with pass phrases
US20110246614A1 (en) * 2010-03-31 2011-10-06 Bank Of America Corporation Mobile Content Management
US20110276863A1 (en) * 2010-05-10 2011-11-10 Bhise Mohar H Providing Text Content Embedded with Multimedia Content
US20120233565A1 (en) * 2011-03-09 2012-09-13 Apple Inc. System and method for displaying content
US20140096079A1 (en) * 2011-04-26 2014-04-03 Sharp Kabushiki Kaisha Display device, display method, and non-transitory computer-readable recording medium
US8812658B1 (en) * 2011-05-20 2014-08-19 Amazon Technologies, Inc. Pre-fetching of network page content
US20130073932A1 (en) * 2011-08-19 2013-03-21 Apple Inc. Interactive Content for Digital Books
US20130073364A1 (en) * 2011-09-16 2013-03-21 Ysk Media Ltd. Method of Downloading Contents
US20130183943A1 (en) * 2012-01-17 2013-07-18 Daniel TOW Remote viewing apparatus for smartphone

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9239662B2 (en) 2012-02-01 2016-01-19 Facebook, Inc. User interface editor
US9606708B2 (en) 2012-02-01 2017-03-28 Facebook, Inc. User intent during object scrolling
US9235317B2 (en) 2012-02-01 2016-01-12 Facebook, Inc. Summary and navigation of hierarchical levels
US8976199B2 (en) 2012-02-01 2015-03-10 Facebook, Inc. Visual embellishment for objects
US8984428B2 (en) 2012-02-01 2015-03-17 Facebook, Inc. Overlay images and texts in user interface
US8990691B2 (en) 2012-02-01 2015-03-24 Facebook, Inc. Video object behavior in a user interface
US8990719B2 (en) 2012-02-01 2015-03-24 Facebook, Inc. Preview of objects arranged in a series
US9003305B2 (en) 2012-02-01 2015-04-07 Facebook, Inc. Folding and unfolding images in a user interface
US9098168B2 (en) 2012-02-01 2015-08-04 Facebook, Inc. Spring motions during object animation
US9229613B2 (en) 2012-02-01 2016-01-05 Facebook, Inc. Transitions among hierarchical user interface components
US11132118B2 (en) 2012-02-01 2021-09-28 Facebook, Inc. User interface editor
US9235318B2 (en) 2012-02-01 2016-01-12 Facebook, Inc. Transitions among hierarchical user-interface layers
US9557876B2 (en) 2012-02-01 2017-01-31 Facebook, Inc. Hierarchical user interface
US9552147B2 (en) 2012-02-01 2017-01-24 Facebook, Inc. Hierarchical user interface
US10775991B2 (en) 2012-02-01 2020-09-15 Facebook, Inc. Overlay images and texts in user interface
US9645724B2 (en) 2012-02-01 2017-05-09 Facebook, Inc. Timeline based content organization
US20130339437A1 (en) * 2012-06-19 2013-12-19 International Business Machines Corporation Photo album creation based on social media content
US9626382B2 (en) * 2012-06-19 2017-04-18 International Business Machines Corporation Photo album creation based on social media content
US9626381B2 (en) * 2012-06-19 2017-04-18 International Business Machines Corporation Photo album creation based on social media content
US20130339435A1 (en) * 2012-06-19 2013-12-19 International Business Machines Corporation Photo album creation based on social media content
US20140280783A1 (en) * 2013-03-15 2014-09-18 Haixiang He Method and Apparatus for Improving Downloading Performance Based on Reading Intent for Digital Magazine
US10812564B1 (en) * 2013-08-09 2020-10-20 Google Llc Preloading content for requesting applications
US20170078346A1 (en) * 2015-09-15 2017-03-16 Piksel, Inc. Dynamic Resource Allocation of Multimedia Content Based on Usage Patterns
US10939167B2 (en) * 2015-09-15 2021-03-02 Piksel, Inc Dynamic resource allocation of multimedia content based on usage patterns

Also Published As

Publication number Publication date
US9003305B2 (en) 2015-04-07
US20150100924A1 (en) 2015-04-09
US20140013283A1 (en) 2014-01-09
US20130198665A1 (en) 2013-08-01
US20150100880A1 (en) 2015-04-09
US8990691B2 (en) 2015-03-24
US20170199641A1 (en) 2017-07-13
US20200218414A1 (en) 2020-07-09
US8976199B2 (en) 2015-03-10
US9098168B2 (en) 2015-08-04
US20170131889A1 (en) 2017-05-11
US20130198663A1 (en) 2013-08-01
US9235317B2 (en) 2016-01-12
US8990719B2 (en) 2015-03-24
US20130198668A1 (en) 2013-08-01
US20130198664A1 (en) 2013-08-01
US10775991B2 (en) 2020-09-15
US9235318B2 (en) 2016-01-12
US20130198681A1 (en) 2013-08-01
US9229613B2 (en) 2016-01-05
US9239662B2 (en) 2016-01-19
US20170192661A1 (en) 2017-07-06
US20130227494A1 (en) 2013-08-29
US8984428B2 (en) 2015-03-17
US20130194269A1 (en) 2013-08-01
US20130198682A1 (en) 2013-08-01
US9007371B2 (en) 2015-04-14
US20130194307A1 (en) 2013-08-01
US9552147B2 (en) 2017-01-24
US20130198666A1 (en) 2013-08-01
US9606708B2 (en) 2017-03-28
US20130198634A1 (en) 2013-08-01
US10613733B2 (en) 2020-04-07
US20130198631A1 (en) 2013-08-01
US20130339907A1 (en) 2013-12-19
US11132118B2 (en) 2021-09-28
US20160092096A1 (en) 2016-03-31

Similar Documents

Publication Publication Date Title
US20130198261A1 (en) Intelligent Downloading and Rendering of Content
US10664148B2 (en) Loading content on electronic device
US9696898B2 (en) Scrolling through a series of content items
CA2888667C (en) Animation sequence associated with image
US10459621B2 (en) Image panning and zooming effect
US20170131859A1 (en) Hierarchical User Interface
CA2983525C (en) Positioning of components in a user interface
US20170199636A1 (en) Content Type Filter
US9606717B2 (en) Content composer
US9507483B2 (en) Photographs with location or time information
US9547627B2 (en) Comment presentation
US20160086369A1 (en) Animation Sequence Associated with Feedback User-Interface Element
US20140136946A1 (en) Animation Sequence Associated with Content Item
CA2904207A1 (en) Modifying content of components in a user interface
US9645724B2 (en) Timeline based content organization
CN105229691B (en) Delaying heavy operations while scrolling
US11921812B2 (en) Content creative web browser

Legal Events

Date Code Title Description
AS Assignment

Owner name: FACEBOOK, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MATAS, MICHAEL;TSINTERIS, KIMON;SARNER, AUSTIN;SIGNING DATES FROM 20120724 TO 20120803;REEL/FRAME:029659/0520

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION 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:058553/0802

Effective date: 20211028

AS Assignment

Owner name: META PLATFORMS, INC., CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:FACEBOOK, INC.;REEL/FRAME:058741/0044

Effective date: 20211028