US20140337350A1 - Matrix viewing - Google Patents
Matrix viewing Download PDFInfo
- Publication number
- US20140337350A1 US20140337350A1 US14/338,736 US201414338736A US2014337350A1 US 20140337350 A1 US20140337350 A1 US 20140337350A1 US 201414338736 A US201414338736 A US 201414338736A US 2014337350 A1 US2014337350 A1 US 2014337350A1
- Authority
- US
- United States
- Prior art keywords
- stream
- streams
- computing device
- network page
- item
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G06F17/30554—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0277—Online advertisement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
- G06Q30/0643—Graphical representation of items or shoppers
Definitions
- Search results are often presented as a list on a webpage rendered using a browser on a computer. Typically only a portion of the search results are initially displayed in the webpage. Thus, a user may have to scroll down the page to view a remaining portion of the search results. Also, the user might have to click on links to other webpages just to see additional portions of the list, if the list is long.
- FIG. 1 is a drawing of a data communications network according to various embodiments of the present disclosure.
- FIGS. 2 , 3 , 4 , 5 , 6 A, and 6 B are drawings of examples of network pages rendered by a client in the data communications network of FIG. 1 according to various embodiments of the present disclosure.
- FIG. 7 is a flowchart illustrating one example of functionality implemented as portions of an electronic commerce application executed in a computing device in the data communications network of FIG. 1 according to various embodiments of the present disclosure.
- FIG. 8 is a flowchart illustrating one example of functionality implemented as portions of a matrix view executable that is executed in a client in the data communications network of FIG. 1 according to various embodiments of the present disclosure.
- FIG. 9 is a schematic block diagram that provides one example illustration of a computing device employed in the data communications network of FIG. 1 according to various embodiments of the present disclosure.
- FIG. 10 is a schematic block diagram that provides one example illustration of a client employed in the data communications network of FIG. 1 according to various embodiments of the present disclosure.
- a matrix view includes two or more “streams” of item representations in a network page rendered by a browser on a computer.
- a stream is a moving or animated progression of item representations across at least a portion of the network page.
- a matrix view may include several columns and/or rows containing of a variety of item images moving across a page.
- the item images may correspond to the results of a search input into a computer by a user.
- Matrix viewing may allow a user to more efficiently view or evaluate the search results.
- the data communications network 100 includes a computing device 103 and a client 106 in communication over a network 109 .
- the network 109 includes, for example, the Internet, intranets, extranets, wide area networks (WANs), local area networks (LANs), wired networks, wireless networks, or other suitable networks, etc., or any combination of two or more such networks.
- the computing device 103 may comprise, for example, a server computer or any other system providing computing capability. Alternatively, a plurality of computing devices 103 may be employed that are arranged, for example, in one or more server banks or computer banks or other arrangements. A plurality of computing devices 103 together may comprise, for example, a cloud computing resource, a grid computing resource, and/or any other distributed computing arrangement. Such computing devices 103 may be located in a single installation or may be dispersed among many different geographical locations. In one embodiment, the computing device 103 represents a virtualized computer system executing on one or more physical computing systems. For purposes of convenience, the computing device 103 is referred to herein in the singular. Even though the computing device 103 is referred to in the singular, it is understood that a plurality of computing devices 103 may be employed in the various arrangements as described above.
- Various applications and/or other functionality may be executed in the computing device 103 according to various embodiments.
- various data is stored in a data store 136 that is accessible to the computing device 103 .
- the data store 136 may be representative of a plurality of data stores as can be appreciated.
- the data stored in the data store 136 is associated with the operation of the various applications and/or functional entities described below.
- the components executed on the computing device 103 include electronic commerce application(s) 133 , network interface application(s) 139 , and other applications, services, processes, systems, engines, or functionality not discussed in detail herein.
- the electronic commerce application 133 is executed in order to facilitate the online purchase of items over the network 109 .
- the electronic commerce application 133 also performs various backend functions associated with the online presence of a merchant in order to facilitate the online purchase of items as will be described.
- the electronic commerce application 133 generates one or more network pages 196 , using a network page encoder 166 , such as web pages or other types of network content that are provided to client(s) 106 for the purposes of selecting items for purchase, rental, download, lease, or other form of consumption as will be described.
- a network page 196 may include code that generates dynamic network pages when executed or interpreted in the client 106 . Such code may be written in any suitable programming language, such as PHP, Perl, Objective C, Java, Ruby, etc. Also, the network pages 196 may also include code configured to be executed or interpreted within the client 106 in order to render a dynamic network page. Such code may be referred to as an executable and may be written in any suitable programming language, such as Java Script, Java, etc. For example, the network page 196 in the embodiment illustrated in FIG. 1 includes a matrix view executable 197 .
- a network page 196 may also include network page data 159 that is data relating to network pages 196 served up by the electronic commerce application 133 .
- network page data 159 may include static network pages 196 or static elements of network pages 196 , for example, in hypertext markup language (HTML), extensible markup language (XML), and/or any other language suitable for creating network pages 196 .
- HTML hypertext markup language
- XML extensible markup language
- the network page data 159 is stored in the data store 136 . Additionally, the data store 136 stores, for example, user account data 143 , a catalog 154 , and potentially other data as well as the network page data 159 .
- the user account data 143 includes browse history data 146 , purchase history data 149 , user list data 153 , and potentially other user data.
- the user list data 153 may include data relating to lists of items associated with users. Such users may be registered users with a formal account or may merely be visitors. Such lists of items in user list data 153 may include shopping cart lists used in placing orders, gift lists, wish lists, and/or any other lists for users to track one or more items.
- the catalog 154 may include items 155 and item data 156 related to the items 155 .
- the item data 156 may include, for example, item titles, item images, item representations, item descriptions, item prices, item quantities, item review, item categories, item manufacturer, item technical information, item sizes, item colors, item options, item dimensions, and/or other data that may be used to describe or otherwise relate to items 155 .
- each item datum 156 corresponds to an item 155 .
- an item datum 156 may correspond to more than one item 155 .
- an item image or an item representation may depict more than one item 155 .
- the client 106 is representative of a plurality of client devices that may be coupled to the network 109 .
- the client 106 may comprise, for example, a processor-based system such as a computer system.
- a processor-based system such as a computer system.
- Such a computer system may be embodied in the form of a desktop computer, a laptop computer, a personal digital assistant, a cellular telephone, set-top box, music players, web pads, tablet computer systems, or other devices with like capability.
- the client 106 may be configured to execute various applications such as a browser 193 and/or other applications.
- the browser 193 may be executed in a client 106 , for example, to access and render network pages 196 , such as web pages, or other network content served up by the computing device 103 and/or other servers.
- the network pages 196 include a matrix view executable 197 obtained from the electronic commerce application(s) 133 , which may comprise client-side code to be interpreted or executed within the browser 193 on the client 106 in order to render a matrix view.
- the matrix view executable 197 may include dynamic HTML (DHTML), Flash, VB Script, Java Script, Java, Ajax, ActiveX, and/or any other client-side code.
- the client 106 also includes a data cache 198 to store data obtained from the electronic commerce application 133 and/or other sources.
- the data stored within the data cache 198 may speed rendering or re-rendering of network pages 196 by the browser 193 so that it may not be necessary to re-obtain data that has already been downloaded to the client 106 .
- the client 106 may be configured to execute applications beyond the browser 193 such as, for example, email applications, instant message applications, and/or other applications.
- a user accesses a network page 196 using a browser 193 on a network site from the electronic commerce application 133 over the network 109 .
- the client 106 may provide a search query regarding one or more items to the electronic commerce application 133 .
- Such search query may comprise keywords, an item category, and/or any other type of item query.
- the search application 163 of the electronic commerce application 133 in the computing device 103 In response to the search query, the search application 163 of the electronic commerce application 133 in the computing device 103 generates a collection of items 155 (e.g., search results) as a result of a search based at least in part on the search query.
- the network page encoder 166 of the electronic commerce application 133 encodes one or more network pages for rendering in the browser 193 executing on a client 106 . As will be discussed in further detail below, these network pages are encoded to provide a matrix view of at least a portion of the collection of items 155 .
- the network page(s) are then sent from the electronic commerce application 133 to the client 106 over the network 109 .
- the browser 193 may request that the matrix view in the network page be updated based at least in part on a user input.
- FIG. 2 shown is a drawing of an example of a network page 196 ( FIG. 1 ), denoted herein as 196 a , that is rendered by a client 106 ( FIG. 1 ) in the data communications network 100 ( FIG. 1 ) according to various embodiments of the present disclosure.
- FIG. 2 includes an example of a matrix view 203 in a network page 196 a rendered by the browser 193 ( FIG. 1 ).
- the matrix view 203 illustrated in FIG. 2 includes two or more streams 206 of item data 156 ( FIG. 1 ), which in the example illustrated in FIG. 2 , includes item representations 209 .
- a stream 206 is a moving progression of item representations 209 across at least a portion of a network page 196 a .
- the stream 206 may be vertical, horizontal, diagonal, circular, and/or another orientation across at least a portion of a network page 196 a .
- the stream 206 is a vertical column.
- the moving progression includes item data 156 in addition to, or instead of, item representations 209 .
- the item representations 209 correspond to at least a portion of a collection of items 155 .
- each of the item representations 209 illustrated in FIG. 2 corresponds to a respective one of the items 155 in the portion of the collection of items 155 .
- a stream 206 is a moving progression of item representations 209 corresponding to a user list data 153 ( FIG. 1 ).
- the moving progression of a stream 206 is repeated, while in other embodiments, the moving progression occurs once responsive to a rendering of the network page 196 a .
- a button may be provided in the network page 196 a that allows a user to toggle between a cyclical progression or a progression that includes one iteration.
- the matrix view 203 enables a user to observe a greater amount of item representations 209 than when observing a statically displayed list of items 155 . Because the item representations 209 are moving within a stream 206 , a user does not have to scroll down in the network page 196 a or click any links to view remaining portions of a list of items 155 on another network page 196 .
- the matrix view 203 may be rendered responsive to a search query 211 (e.g., “formal shoes women”) provided in a search field 213 by a user.
- the network page 196 a may also include a search button 216 to facilitate submission of a search query 211 in the search field 213 . Accordingly, instead of presenting a list of search results, the search results are provided in the form of a matrix view 203 including streams 206 that are moving progressions of item representations 209 across a network page 196 a , as illustrated in FIG. 2 .
- a matrix view button may be provided that allows a user to toggle between a list of at least a portion of a collection of items 155 and a matrix view 203 of at least a portion of a collection of items 155 .
- whether the matrix view 203 is rendered may depend at least in part on the items 155 to be searched.
- whether the matrix view 203 is rendered may depend at least in part on whether the item data 156 that results from the search query 211 is in a visual category.
- a visual category is a category of items 155 in which a user would assess item representations 209 corresponding to the collection of items 155 in order to analyze the results of the search query 211 . Examples of a visual category include, for example, clothing, shoes, decorative items, posters, furniture, cars, etc.
- the matrix view 203 may be rendered when the item data 156 that results from the search query 211 includes text.
- the matrix view 203 illustrated includes one or more configure buttons 219 .
- Each of the configure buttons 219 corresponds to a respective one of the streams 206 .
- a configure button 219 enables a user to edit a configuration associated with a stream 206 .
- such configurations may allow for adjusting the speed that items travel within one or more of the streams 206 , pausing the movement of the progression of items in a stream 206 , deleting item representation(s) 209 from a stream 206 , sorting item representations 209 in a stream 206 , defining a sort criteria for item representations 209 in a stream 206 , and/or one or more of a variety of other configurations of the matrix view 203 .
- the configure buttons allow a user to configure the number of columns and rows in the matrix view 203 by adding a stream 206 from the matrix view 203 or deleting a stream 206 from the matrix view 203 .
- the matrix view 203 is updated in response to one or more of the inputs regarding the configurations listed above.
- the streams 206 may be rearranged or reordered by moving a stream 206 within the matrix view 203 .
- a stream 206 may be selected at first location within the matrix view 203 and then dragged and dropped at a second location within the matrix view 203 .
- a stream segment 204 c , 204 d ( FIG. 6A ) may be detached from a stream 206 b ( FIG. 6A ) and moved to form a new stream 206 c , 206 d ( FIG. 6B ).
- FIG. 3 shown is a drawing of an example of a network page 196 ( FIG. 1 ), denoted herein as 196 b , that is rendered by a client 106 ( FIG. 1 ) in the data communications network 100 ( FIG. 1 ) according to various embodiments of the present disclosure.
- the network page 196 b depicted in FIG. 3 includes an example of a menu 300 that may be presented responsive to a mouse click associated with a cursor 303 positioned in a stream 206 . For example, a user might click on a mouse when the cursor 303 is positioned over a stream 206 .
- a menu 300 is rendered in the matrix view 203 that provides configuration options for the stream 206 or the matrix view 203 that may be selectable by another mouse click.
- the matrix view 203 may be updated to include additional search results.
- a user inputs a second search query 211 (e.g., “athletic shoes women”), and the search query 211 is sent to the electronic commerce application 133 ( FIG. 1 ) in the computing device 103 ( FIG. 1 ).
- the electronic commerce application 133 generates a second collection of items 155 ( FIG. 1 ) (e.g., search results) as a result of a search based at least in part on the second search query 211 .
- Item data 156 ( FIG. 1 ) corresponding to the second collection of items 155 is sent to the browser 193 ( FIG. 1 ) in the client 106 .
- the item data 156 corresponding to at least a portion of the second collection of items 155 may replace the item data 156 corresponding to a least a portion of the collection of items 155 already presented in the matrix view 203 .
- the item data 156 corresponding to at least a portion of the second collection of items 155 is presented in a new stream 206 that is added to the matrix view 203 .
- FIG. 4 shown is a drawing of an example of a network page 196 ( FIG. 1 ), denoted herein as 196 c , that is rendered by a client 106 ( FIG. 1 ) in the data communications network 100 ( FIG. 1 ) according to various embodiments of the present disclosure.
- a network page 196 c including a matrix view 203 is rendered in the browser 193 ( FIG. 1 ) at the client 106 .
- Several item representations 209 are selected by highlighting 403 in the matrix view 203 .
- the item representations 209 may be selected in order to delete the corresponding items 155 ( FIG. 1 ) from the matrix view 203 or for inclusion in a summary view.
- FIG. 5 shown is a drawing of an example of a network page 196 ( FIG. 1 ), denoted herein as 196 d , that is rendered by a client 106 ( FIG. 1 ) in the data communications network 100 ( FIG. 1 ) according to various embodiments of the present disclosure.
- the network page 196 d illustrated in FIG. 5 includes a nonlimiting example of a summary view 500 in the form of a list of item data 156 ( FIG. 1 ) including the item representations 209 highlighted 403 in FIG. 4 .
- a user may view a moving progression of item representations 209 and/or other item data 156 , make selections, and then view a summary view 500 of the selections in order to more efficiently evaluate and narrow search results than by analyzing a list by scrolling and paging through the search results.
- FIG. 6A shown is a drawing of an example of a network page 196 ( FIG. 1 ), denoted herein as 196 e , that is rendered by a client 106 ( FIG. 1 ) in the data communications network 100 ( FIG. 1 ) according to various embodiments of the present disclosure.
- the network page 196 e illustrated in FIG. 6 includes a nonlimiting example of a matrix view 203 including a plurality of streams 206 , denoted as 206 a and 206 b .
- Stream 206 b includes a plurality of stream segments 204 , denoted as 204 c and 204 d .
- a stream segment 204 is a segment of a stream 206 that includes one or more item representations 209 .
- the stream segments 204 include a heading 205 , denoted as 205 c and 205 d (e.g., “Flats” and “Sneakers”).
- the stream 206 a may have resulted from an initial search query 211 (e.g., “formal shoes women”), and the stream 206 b may have been added based on another search query 211 (e.g., “shoes women”).
- the stream 206 b includes various stream segments 204 that represent various categories (e.g., flats, sneakers).
- FIG. 6B is a drawing of an example of a network page 196 ( FIG. 1 ), denoted herein as 196 f , that is rendered by a client 106 ( FIG. 1 ) in the data communications network 100 ( FIG. 1 ) according to various embodiments of the present disclosure.
- the network page 196 f includes a matrix view 203 including a plurality of streams 206 a , 206 b , 206 c , and 206 d .
- the stream segments 204 c , 204 d are detached from stream 206 b and form additional streams 206 c , 206 d including headings 205 c , 205 d . Accordingly, a stream 206 c , 206 d may be added to a matrix view 203 by detaching a stream segment 204 c , 204 d and positioning the stream segment 204 c , 204 d within the matrix view 203 to form a new stream 206 c , 206 d.
- FIG. 7 shown is a flowchart that provides one example of the operation of a portion of the electronic commerce application 133 ( FIG. 1 ) according to various embodiments. It is understood that the flowchart of FIG. 7 provides merely an example of the many different types of functional arrangements that may be employed to implement the operation of the portion of the electronic commerce application 133 as described herein. As an alternative, the flowchart of FIG. 7 may be viewed as depicting an example of steps of a method implemented in the computing device 103 ( FIG. 1 ) according to one or more embodiments.
- a search query 211 ( FIG. 2 ) is retrieved from a client 106 ( FIG. 1 ) by a computing device 103 ( FIG. 1 ).
- the search query 211 is related to items 155 ( FIG. 1 ) included in a catalog 154 ( FIG. 1 ) stored in the data store 136 ( FIG. 1 ).
- the search query 211 (e.g., “formal shoes women”) is provided by a user in a search field 213 ( FIG. 2 ) in a network page 196 ( FIG. 1 ) rendered in a browser 193 ( FIG. 1 ).
- a catalog 154 is searched based at least in part on the search query 211 using a search application 163 ( FIG. 1 ) in a electronic commerce application 133 ( FIG. 1 ) executed in the computing device 103 . Further, in box 709 , a collection of items 155 is generated in response to the search in box 706 . Next, in box 711 , the computing device 103 gathers item data 156 ( FIG. 1 ) corresponding to the collection of items 155 generated in box 709 .
- the item data 156 includes, for example, item representations 209 , item images, and/or other data related to items 155 .
- a network page 196 ( FIG. 1 ) is encoded using a network page encoder 166 ( FIG. 1 ) in the electronic commerce application 133 executed in the computing device 103 .
- the network page 196 includes at least a portion of the gathered item data 156 , and when rendered, the network page 196 provides a matrix view 203 ( FIG. 2 ) of at least a portion of the gathered item data 156 .
- the matrix view 203 includes at least two or more streams 206 ( FIG. 2 ). At least one of the streams 206 includes a moving progression across a portion of the network page 196 of at least a portion of the item representations 209 included in the gathered item data 156 .
- Each item datum 156 corresponds to a respective one of the items 155 in the collection of items 155 .
- the network page 196 is sent from the computing device 103 to the client 106 over the network 109 ( FIG. 1 ).
- additional item data 156 corresponding to additional items 155 is retrieved for inclusion in an existing network page 196 .
- the computing device 103 retrieves a request for additional item data 156 from the client 106 .
- This request may be in the form of a second search query 211 .
- a second search is performed using the search application 163 that generates a second collection of items 155 .
- Additional item data 156 corresponding to the second collection of items 155 is gathered in box 721 .
- the additional item data 156 is sent to the client 106 for updating the matrix view 203 .
- FIG. 8 shown is a flowchart that provides one example of the operation of a portion of the matrix view executable 197 ( FIG. 1 ) according to various embodiments. It is understood that the flowchart of FIG. 8 provides merely an example of the many different types of functional arrangements that may be employed to implement the operation of the portion of the matrix view executable 197 as described herein. As an alternative, the flowchart of FIG. 8 may be viewed as depicting an example of steps of a method implemented in the client 106 ( FIG. 1 ) according to one or more embodiments.
- a search query 211 (e.g., “formal shoes women”) is retrieved from a user using a client 106 .
- the search query 211 is provided by a user in a search field 213 ( FIG. 2 ) rendered in a network page 196 ( FIG. 1 ) in a browser 193 ( FIG. 1 ).
- the search query 211 is related to items 155 ( FIG. 1 ) and corresponding to item data 156 ( FIG. 1 ) included in a catalog 154 ( FIG. 1 ) stored in the data store 136 ( FIG. 1 ) in the computing device 103 ( FIG. 1 ).
- the search query 211 is sent to the computing device 103 from the client 106 over the network 109 ( FIG. 1 ).
- a network page 196 is obtained from the computing device 103 in box 809 .
- the network page 196 includes item data 156 corresponding to at least a portion of a collection of items 155 generated by the computing device 103 in response to a search based on the search query 211 sent to the computing device 103 .
- the item data 156 includes, for example, item representations 209 ( FIG. 2 ), item images, and/or other data related to items 155 .
- the network page 196 that was retrieved from the computing device 103 is rendered in a browser 193 .
- the network page 196 provides a matrix view 203 ( FIG. 2 ) of at least a portion of the item data 156 .
- the matrix view 203 includes at least two or more streams 206 ( FIG. 2 ).
- At least one of the streams 206 includes a moving progression across a portion of the network page 196 of at least a portion of item representations 209 included in the gathered item data 156 .
- Each item representations 209 corresponds to a respective one of the items 155 in the collection of items 155 .
- an input is received in the client 106 from a user.
- the input is related to a configuration change or update initiated by a user.
- the configuration change or update may be related to a stream 206 or the matrix view 203 .
- the configuration change or update may be an adjustment of a speed of one or more of the streams 206 in the matrix view 203 .
- Another example of a configuration change or update includes an addition or deletion of one or more streams 206 .
- the additional stream 206 may include a moving progression of additional item representations 209 associated with another search query 211 across the network page 196 .
- a configuration change or update examples include a pause of a movement of item data 156 in a stream 206 , a deletion of item data 156 from the matrix view 203 , a sorting of the item data 156 in a stream 206 , a creation or change of a definition of sort criteria for a stream 206 , a change of the number of columns and/or rows in a matrix view 203 , and/or a highlight 403 ( FIG. 4 ) of and item representation 209 item data 156 in a stream 206 .
- the matrix view 203 provides a menu 300 ( FIG. 3 ) to facilitate configuring, changing, and/or updating a stream 206 or the matrix view 203 .
- streams 206 are sorted according to different criteria.
- the configuration change or update is a selection of at least a portion of the item data 156 in the matrix view 203 .
- the selected item data 156 is then aggregated and presented in a summary view 500 ( FIG. 5 ).
- the matrix view 203 is updated based at least in part on the input received in box 816 .
- the computing device 103 includes at least one processor circuit, for example, having a processor 903 and a memory 906 , both of which are coupled to a local interface 909 .
- the computing device 103 may comprise, for example, at least one server computer or like device.
- the local interface 909 may comprise, for example, a data bus with an accompanying address/control bus or other bus structure as can be appreciated.
- Stored in the memory 906 are both data and several components that are executable by the processor 903 .
- an electronic commerce application 133 stored in the memory 906 and executable by the processor 903 is an electronic commerce application 133 , and potentially other applications.
- the electronic commerce application 133 includes a search application 163 and a network page encoder 166 .
- Also stored in the memory 906 may be a data store 136 and other data.
- an operating system 913 may be stored in the memory 906 and executable by the processor 903 .
- the client 106 includes at least one processor circuit, for example, having a processor 1003 and a memory 1006 , both of which are coupled to a local interface 1009 .
- the client 106 may comprise, for example, a desktop computer, a laptop computer, a personal digital assistant, a cellular telephone, set-top box, music players, web pads, tablet computer systems, or other devices with like capability.
- the local interface 1009 may comprise, for example, a data bus with an accompanying address/control or other bus structure as can be appreciated.
- Stored in the memory 1006 are several components that are executable by the processor 1003 .
- stored in the memory 1006 is a data cache 198 and executable by the processor 1003 is a browser 193 , and potentially other applications.
- an operating system 1013 may be stored in the memory 1006 and executable by the processor 1003 .
- any component discussed herein is implemented in the form of software, any one of a number of programming languages may be employed such as, for example, C, C++, C#, Objective C, Java, Java Script, Perl, PHP, Visual Basic, Python, Ruby, Delphi, Flash, or other programming languages.
- a number of software components are stored in the memory 906 , 1006 and are executable by the processor 903 , 1003 .
- the term “executable” means a program file that is in a form that can ultimately be run by the processor 903 , 1003 .
- Examples of executable programs may be, for example, a compiled program that can be translated into machine code in a format that can be loaded into a random access portion of the memory 906 , 1006 and run by the processor 903 , 1003 source code that may be expressed in proper format such as object code that is capable of being loaded into a random access portion of the memory 906 , 1006 and executed by the processor 903 , 1003 , or source code that may be interpreted by another executable program to generate instructions in a random access portion of the memory 906 , 1006 to be executed by the processor 903 , 1003 , etc.
- An executable program may be stored in any portion or component of the memory 906 , 1006 including, for example, random access memory (RAM), read-only memory (ROM), hard drive, solid-state drive, USB flash drive, memory card, optical disc such as compact disc (CD) or digital versatile disc (DVD), floppy disk, magnetic tape, or other memory components.
- RAM random access memory
- ROM read-only memory
- hard drive solid-state drive
- USB flash drive solid-state drive
- memory card such as compact disc (CD) or digital versatile disc (DVD), floppy disk, magnetic tape, or other memory components.
- CD compact disc
- DVD digital versatile disc
- the memory 906 , 1006 is defined herein as including both volatile and nonvolatile memory and data storage components. Volatile components are those that do not retain data values upon loss of power. Nonvolatile components are those that retain data upon a loss of power.
- the memory 906 , 1006 may comprise, for example, random access memory (RAM), read-only memory (ROM), hard disk drives, solid-state drives, USB flash drives, memory cards accessed via a memory card reader, floppy disks accessed via an associated floppy disk drive, optical discs accessed via an optical disc drive, magnetic tapes accessed via an appropriate tape drive, and/or other memory components, or a combination of any two or more of these memory components.
- the RAM may comprise, for example, static random access memory (SRAM), dynamic random access memory (DRAM), or magnetic random access memory (MRAM) and other such devices.
- the ROM may comprise, for example, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other like memory device.
- the processor 903 , 1003 may represent multiple processors 903 , 1003 and the memory 906 , 1006 may represent multiple memories 906 , 1006 that operate in parallel processing circuits, respectively.
- the local interface 909 , 1009 may be an appropriate network 109 ( FIG. 1 ) that facilitates communication between any two of the multiple processors 903 , 1003 , between any processor 903 , 1003 and any of the memories 906 , 1006 , or between any two of the memories 906 , 1006 , etc.
- the local interface 909 , 1009 may comprise additional systems designed to coordinate this communication, including, for example, performing load balancing.
- the processor 903 , 1003 may be of electrical or of some other available construction.
- the electronic commerce application 133 may be embodied in software or code executed by general purpose hardware as discussed above, as an alternative the same may also be embodied in dedicated hardware or a combination of software/general purpose hardware and dedicated hardware. If embodied in dedicated hardware, each can be implemented as a circuit or state machine that employs any one of or a combination of a number of technologies. These technologies may include, but are not limited to, discrete logic circuits having logic gates for implementing various logic functions upon an application of one or more data signals, application specific integrated circuits having appropriate logic gates, or other components, etc. Such technologies are generally well known by those skilled in the art and, consequently, are not described in detail herein.
- each block may represent a module, segment, or portion of code that comprises program instructions to implement the specified logical function(s).
- the program instructions may be embodied in the form of source code that comprises human-readable statements written in a programming language or machine code that comprises numerical instructions recognizable by a suitable execution system such as a processor 903 , 1003 in a computer system or other system.
- the machine code may be converted from the source code, etc.
- each block may represent a circuit or a number of interconnected circuits to implement the specified logical function(s).
- FIGS. 7 and 8 show a specific order of execution, it is understood that the order of execution may differ from that which is depicted. For example, the order of execution of two or more blocks may be scrambled relative to the order shown. Also, two or more blocks shown in succession in FIGS. 7 and 8 may be executed concurrently or with partial concurrence. In addition, any number of counters, state variables, warning semaphores, or messages might be added to the logical flow described herein, for purposes of enhanced utility, accounting, performance measurement, or providing troubleshooting aids, etc. It is understood that all such variations are within the scope of the present disclosure.
- any logic or application described herein, including the electronic commerce application 133 and the matrix view executable 197 , that comprises software or code can be embodied in a non-transitory form in any computer-readable medium for use by or in connection with an instruction execution system such as, for example, a processor 903 , 1003 in a computer system or other system.
- the logic may comprise, for example, statements including instructions and declarations that can be fetched from the computer-readable medium and executed by the instruction execution system.
- a “computer-readable medium” can be any medium that can contain, store, or maintain the logic or application described herein for use by or in connection with the instruction execution system.
- the computer-readable medium can comprise any one of many physical media such as, for example, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor media. More specific examples of a suitable computer-readable medium would include, but are not limited to, magnetic tapes, magnetic floppy diskettes, magnetic hard drives, memory cards, solid-state drives, USB flash drives, or optical discs. Also, the computer-readable medium may be a random access memory (RAM) including, for example, static random access memory (SRAM) and dynamic random access memory (DRAM), or magnetic random access memory (MRAM).
- RAM random access memory
- SRAM static random access memory
- DRAM dynamic random access memory
- MRAM magnetic random access memory
- the computer-readable medium may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other type of memory device.
- ROM read-only memory
- PROM programmable read-only memory
- EPROM erasable programmable read-only memory
- EEPROM electrically erasable programmable read-only memory
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Disclosed are various embodiments of systems, methods and computer readable mediums for matrix viewing. In one embodiment, among others, a system comprises at least one computing device and an application executable in the at least one computing device. The application comprises logic that searches and gathers a plurality of item representations based at least in part on a search query retrieved from a client computing device. The application further comprises logic that encodes a network page for rendering by the client computing device. The network page provides a matrix view of at least a portion of the item representations. Also, the matrix view includes a plurality of streams. At least one of the streams comprises a moving progression of the item representations across at least a portion of the network page.
Description
- This application is a continuation of, and claims priority to, co-pending U.S. patent application entitled “MATRIX VIEWING,” filed on Mar. 25, 2010 and assigned application Ser. No. 12/731,707, which is incorporated herein by reference in its entirety.
- Search results are often presented as a list on a webpage rendered using a browser on a computer. Typically only a portion of the search results are initially displayed in the webpage. Thus, a user may have to scroll down the page to view a remaining portion of the search results. Also, the user might have to click on links to other webpages just to see additional portions of the list, if the list is long.
- Many aspects of the present disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
-
FIG. 1 is a drawing of a data communications network according to various embodiments of the present disclosure. -
FIGS. 2 , 3, 4, 5, 6A, and 6B are drawings of examples of network pages rendered by a client in the data communications network ofFIG. 1 according to various embodiments of the present disclosure. -
FIG. 7 is a flowchart illustrating one example of functionality implemented as portions of an electronic commerce application executed in a computing device in the data communications network ofFIG. 1 according to various embodiments of the present disclosure. -
FIG. 8 is a flowchart illustrating one example of functionality implemented as portions of a matrix view executable that is executed in a client in the data communications network ofFIG. 1 according to various embodiments of the present disclosure. -
FIG. 9 is a schematic block diagram that provides one example illustration of a computing device employed in the data communications network ofFIG. 1 according to various embodiments of the present disclosure. -
FIG. 10 is a schematic block diagram that provides one example illustration of a client employed in the data communications network ofFIG. 1 according to various embodiments of the present disclosure. - In the following discussion, various embodiments of systems, methods and other embodiments for viewing items in a matrix view are described. A matrix view includes two or more “streams” of item representations in a network page rendered by a browser on a computer. A stream is a moving or animated progression of item representations across at least a portion of the network page. For example, a matrix view may include several columns and/or rows containing of a variety of item images moving across a page. The item images may correspond to the results of a search input into a computer by a user. Matrix viewing may allow a user to more efficiently view or evaluate the search results.
- With reference to
FIG. 1 , shown is adata communications network 100 according to various embodiments. Thedata communications network 100 includes acomputing device 103 and aclient 106 in communication over anetwork 109. Thenetwork 109 includes, for example, the Internet, intranets, extranets, wide area networks (WANs), local area networks (LANs), wired networks, wireless networks, or other suitable networks, etc., or any combination of two or more such networks. - The
computing device 103 may comprise, for example, a server computer or any other system providing computing capability. Alternatively, a plurality ofcomputing devices 103 may be employed that are arranged, for example, in one or more server banks or computer banks or other arrangements. A plurality ofcomputing devices 103 together may comprise, for example, a cloud computing resource, a grid computing resource, and/or any other distributed computing arrangement.Such computing devices 103 may be located in a single installation or may be dispersed among many different geographical locations. In one embodiment, thecomputing device 103 represents a virtualized computer system executing on one or more physical computing systems. For purposes of convenience, thecomputing device 103 is referred to herein in the singular. Even though thecomputing device 103 is referred to in the singular, it is understood that a plurality ofcomputing devices 103 may be employed in the various arrangements as described above. - Various applications and/or other functionality may be executed in the
computing device 103 according to various embodiments. Also, various data is stored in adata store 136 that is accessible to thecomputing device 103. Thedata store 136 may be representative of a plurality of data stores as can be appreciated. The data stored in thedata store 136, for example, is associated with the operation of the various applications and/or functional entities described below. - The components executed on the
computing device 103, for example, include electronic commerce application(s) 133, network interface application(s) 139, and other applications, services, processes, systems, engines, or functionality not discussed in detail herein. Theelectronic commerce application 133 is executed in order to facilitate the online purchase of items over thenetwork 109. Theelectronic commerce application 133 also performs various backend functions associated with the online presence of a merchant in order to facilitate the online purchase of items as will be described. For example, theelectronic commerce application 133 generates one ormore network pages 196, using anetwork page encoder 166, such as web pages or other types of network content that are provided to client(s) 106 for the purposes of selecting items for purchase, rental, download, lease, or other form of consumption as will be described. - A
network page 196 may include code that generates dynamic network pages when executed or interpreted in theclient 106. Such code may be written in any suitable programming language, such as PHP, Perl, Objective C, Java, Ruby, etc. Also, thenetwork pages 196 may also include code configured to be executed or interpreted within theclient 106 in order to render a dynamic network page. Such code may be referred to as an executable and may be written in any suitable programming language, such as Java Script, Java, etc. For example, thenetwork page 196 in the embodiment illustrated inFIG. 1 includes amatrix view executable 197. - A
network page 196 may also includenetwork page data 159 that is data relating tonetwork pages 196 served up by theelectronic commerce application 133. To this end,network page data 159 may includestatic network pages 196 or static elements ofnetwork pages 196, for example, in hypertext markup language (HTML), extensible markup language (XML), and/or any other language suitable for creatingnetwork pages 196. - The
network page data 159 is stored in thedata store 136. Additionally, thedata store 136 stores, for example, user account data 143, acatalog 154, and potentially other data as well as thenetwork page data 159. The user account data 143 includes browsehistory data 146,purchase history data 149, user list data 153, and potentially other user data. The user list data 153 may include data relating to lists of items associated with users. Such users may be registered users with a formal account or may merely be visitors. Such lists of items in user list data 153 may include shopping cart lists used in placing orders, gift lists, wish lists, and/or any other lists for users to track one or more items. - The
catalog 154 may includeitems 155 and item data 156 related to theitems 155. The item data 156 may include, for example, item titles, item images, item representations, item descriptions, item prices, item quantities, item review, item categories, item manufacturer, item technical information, item sizes, item colors, item options, item dimensions, and/or other data that may be used to describe or otherwise relate toitems 155. In some embodiments, each item datum 156 corresponds to anitem 155. However, in some embodiments, an item datum 156 may correspond to more than oneitem 155. For example, an item image or an item representation may depict more than oneitem 155. - The
client 106 is representative of a plurality of client devices that may be coupled to thenetwork 109. Theclient 106 may comprise, for example, a processor-based system such as a computer system. Such a computer system may be embodied in the form of a desktop computer, a laptop computer, a personal digital assistant, a cellular telephone, set-top box, music players, web pads, tablet computer systems, or other devices with like capability. - The
client 106 may be configured to execute various applications such as abrowser 193 and/or other applications. Thebrowser 193 may be executed in aclient 106, for example, to access and rendernetwork pages 196, such as web pages, or other network content served up by thecomputing device 103 and/or other servers. The network pages 196, as mentioned above, include amatrix view executable 197 obtained from the electronic commerce application(s) 133, which may comprise client-side code to be interpreted or executed within thebrowser 193 on theclient 106 in order to render a matrix view. Thematrix view executable 197 may include dynamic HTML (DHTML), Flash, VB Script, Java Script, Java, Ajax, ActiveX, and/or any other client-side code. - The
client 106 also includes adata cache 198 to store data obtained from theelectronic commerce application 133 and/or other sources. The data stored within thedata cache 198 may speed rendering or re-rendering ofnetwork pages 196 by thebrowser 193 so that it may not be necessary to re-obtain data that has already been downloaded to theclient 106. Also, theclient 106 may be configured to execute applications beyond thebrowser 193 such as, for example, email applications, instant message applications, and/or other applications. - Next, a general description of the operation of the various components of the
data communications network 100 is provided. To begin, a user, at aclient 106, accesses anetwork page 196 using abrowser 193 on a network site from theelectronic commerce application 133 over thenetwork 109. Through this initial access, or through a subsequent access, theclient 106 may provide a search query regarding one or more items to theelectronic commerce application 133. Such search query may comprise keywords, an item category, and/or any other type of item query. - In response to the search query, the
search application 163 of theelectronic commerce application 133 in thecomputing device 103 generates a collection of items 155 (e.g., search results) as a result of a search based at least in part on the search query. After the collection ofitems 155 is generated, thenetwork page encoder 166 of theelectronic commerce application 133 encodes one or more network pages for rendering in thebrowser 193 executing on aclient 106. As will be discussed in further detail below, these network pages are encoded to provide a matrix view of at least a portion of the collection ofitems 155. - The network page(s) are then sent from the
electronic commerce application 133 to theclient 106 over thenetwork 109. In some embodiments, thebrowser 193 may request that the matrix view in the network page be updated based at least in part on a user input. - Turning now to
FIG. 2 , shown is a drawing of an example of a network page 196 (FIG. 1 ), denoted herein as 196 a, that is rendered by a client 106 (FIG. 1 ) in the data communications network 100 (FIG. 1 ) according to various embodiments of the present disclosure. In particular,FIG. 2 includes an example of amatrix view 203 in anetwork page 196 a rendered by the browser 193 (FIG. 1 ). Thematrix view 203 illustrated inFIG. 2 includes two ormore streams 206 of item data 156 (FIG. 1 ), which in the example illustrated inFIG. 2 , includesitem representations 209. - A
stream 206 is a moving progression ofitem representations 209 across at least a portion of anetwork page 196 a. Thestream 206 may be vertical, horizontal, diagonal, circular, and/or another orientation across at least a portion of anetwork page 196 a. In the example illustrated inFIG. 2 , thestream 206 is a vertical column. In some embodiments, the moving progression includes item data 156 in addition to, or instead of,item representations 209. Theitem representations 209 correspond to at least a portion of a collection ofitems 155. For example, each of theitem representations 209 illustrated inFIG. 2 corresponds to a respective one of theitems 155 in the portion of the collection ofitems 155. In some embodiments, astream 206 is a moving progression ofitem representations 209 corresponding to a user list data 153 (FIG. 1 ). - In some embodiments, the moving progression of a
stream 206 is repeated, while in other embodiments, the moving progression occurs once responsive to a rendering of thenetwork page 196 a. In some embodiments, a button may be provided in thenetwork page 196 a that allows a user to toggle between a cyclical progression or a progression that includes one iteration. - The
matrix view 203 enables a user to observe a greater amount ofitem representations 209 than when observing a statically displayed list ofitems 155. Because theitem representations 209 are moving within astream 206, a user does not have to scroll down in thenetwork page 196 a or click any links to view remaining portions of a list ofitems 155 on anothernetwork page 196. - The
matrix view 203 may be rendered responsive to a search query 211 (e.g., “formal shoes women”) provided in asearch field 213 by a user. Thenetwork page 196 a may also include asearch button 216 to facilitate submission of asearch query 211 in thesearch field 213. Accordingly, instead of presenting a list of search results, the search results are provided in the form of amatrix view 203 includingstreams 206 that are moving progressions ofitem representations 209 across anetwork page 196 a, as illustrated inFIG. 2 . - In some embodiments, a matrix view button may be provided that allows a user to toggle between a list of at least a portion of a collection of
items 155 and amatrix view 203 of at least a portion of a collection ofitems 155. In some embodiments, whether thematrix view 203 is rendered may depend at least in part on theitems 155 to be searched. For example, whether thematrix view 203 is rendered may depend at least in part on whether the item data 156 that results from thesearch query 211 is in a visual category. A visual category is a category ofitems 155 in which a user would assessitem representations 209 corresponding to the collection ofitems 155 in order to analyze the results of thesearch query 211. Examples of a visual category include, for example, clothing, shoes, decorative items, posters, furniture, cars, etc. In other embodiments, thematrix view 203 may be rendered when the item data 156 that results from thesearch query 211 includes text. - In
FIG. 2 , thematrix view 203 illustrated includes one or more configurebuttons 219. Each of the configurebuttons 219 corresponds to a respective one of thestreams 206. A configurebutton 219 enables a user to edit a configuration associated with astream 206. For example, such configurations may allow for adjusting the speed that items travel within one or more of thestreams 206, pausing the movement of the progression of items in astream 206, deleting item representation(s) 209 from astream 206, sortingitem representations 209 in astream 206, defining a sort criteria foritem representations 209 in astream 206, and/or one or more of a variety of other configurations of thematrix view 203. In some embodiments, the configure buttons allow a user to configure the number of columns and rows in thematrix view 203 by adding astream 206 from thematrix view 203 or deleting astream 206 from thematrix view 203. Thematrix view 203 is updated in response to one or more of the inputs regarding the configurations listed above. - In some embodiments, the
streams 206 may be rearranged or reordered by moving astream 206 within thematrix view 203. In other words, astream 206 may be selected at first location within thematrix view 203 and then dragged and dropped at a second location within thematrix view 203. Further, in some embodiments, astream segment FIG. 6A ) may be detached from astream 206 b (FIG. 6A ) and moved to form anew stream FIG. 6B ). - Turning now to
FIG. 3 , shown is a drawing of an example of a network page 196 (FIG. 1 ), denoted herein as 196 b, that is rendered by a client 106 (FIG. 1 ) in the data communications network 100 (FIG. 1 ) according to various embodiments of the present disclosure. Thenetwork page 196 b depicted inFIG. 3 includes an example of amenu 300 that may be presented responsive to a mouse click associated with acursor 303 positioned in astream 206. For example, a user might click on a mouse when thecursor 303 is positioned over astream 206. In response, amenu 300 is rendered in thematrix view 203 that provides configuration options for thestream 206 or thematrix view 203 that may be selectable by another mouse click. - The
matrix view 203 may be updated to include additional search results. For example, a user inputs a second search query 211 (e.g., “athletic shoes women”), and thesearch query 211 is sent to the electronic commerce application 133 (FIG. 1 ) in the computing device 103 (FIG. 1 ). Theelectronic commerce application 133 generates a second collection of items 155 (FIG. 1 ) (e.g., search results) as a result of a search based at least in part on thesecond search query 211. Item data 156 (FIG. 1 ) corresponding to the second collection ofitems 155 is sent to the browser 193 (FIG. 1 ) in theclient 106. The item data 156 corresponding to at least a portion of the second collection ofitems 155 may replace the item data 156 corresponding to a least a portion of the collection ofitems 155 already presented in thematrix view 203. In some embodiments, the item data 156 corresponding to at least a portion of the second collection ofitems 155 is presented in anew stream 206 that is added to thematrix view 203. - Moving now to
FIG. 4 , shown is a drawing of an example of a network page 196 (FIG. 1 ), denoted herein as 196 c, that is rendered by a client 106 (FIG. 1 ) in the data communications network 100 (FIG. 1 ) according to various embodiments of the present disclosure. Anetwork page 196 c including amatrix view 203 is rendered in the browser 193 (FIG. 1 ) at theclient 106.Several item representations 209 are selected by highlighting 403 in thematrix view 203. Theitem representations 209 may be selected in order to delete the corresponding items 155 (FIG. 1 ) from thematrix view 203 or for inclusion in a summary view. - Moving now to
FIG. 5 , shown is a drawing of an example of a network page 196 (FIG. 1 ), denoted herein as 196 d, that is rendered by a client 106 (FIG. 1 ) in the data communications network 100 (FIG. 1 ) according to various embodiments of the present disclosure. Thenetwork page 196 d illustrated inFIG. 5 includes a nonlimiting example of asummary view 500 in the form of a list of item data 156 (FIG. 1 ) including theitem representations 209 highlighted 403 inFIG. 4 . Accordingly, a user may view a moving progression ofitem representations 209 and/or other item data 156, make selections, and then view asummary view 500 of the selections in order to more efficiently evaluate and narrow search results than by analyzing a list by scrolling and paging through the search results. - Moving now to
FIG. 6A , shown is a drawing of an example of a network page 196 (FIG. 1 ), denoted herein as 196 e, that is rendered by a client 106 (FIG. 1 ) in the data communications network 100 (FIG. 1 ) according to various embodiments of the present disclosure. Thenetwork page 196 e illustrated inFIG. 6 includes a nonlimiting example of amatrix view 203 including a plurality ofstreams 206, denoted as 206 a and 206 b.Stream 206 b includes a plurality of stream segments 204, denoted as 204 c and 204 d. A stream segment 204 is a segment of astream 206 that includes one ormore item representations 209. In some embodiments, such as the embodiment illustrated inFIG. 6A , the stream segments 204 include a heading 205, denoted as 205 c and 205 d (e.g., “Flats” and “Sneakers”). For example, thestream 206 a may have resulted from an initial search query 211 (e.g., “formal shoes women”), and thestream 206 b may have been added based on another search query 211 (e.g., “shoes women”). In this example, thestream 206 b includes various stream segments 204 that represent various categories (e.g., flats, sneakers). - A stream segment 204 may be detached from a
stream 206 to form an additional,different stream 206 as illustrated, for example, inFIG. 6B .FIG. 6B is a drawing of an example of a network page 196 (FIG. 1 ), denoted herein as 196 f, that is rendered by a client 106 (FIG. 1 ) in the data communications network 100 (FIG. 1 ) according to various embodiments of the present disclosure. Thenetwork page 196 f includes amatrix view 203 including a plurality ofstreams stream segments stream 206 b and formadditional streams d including headings stream matrix view 203 by detaching astream segment stream segment matrix view 203 to form anew stream - Referring next to
FIG. 7 , shown is a flowchart that provides one example of the operation of a portion of the electronic commerce application 133 (FIG. 1 ) according to various embodiments. It is understood that the flowchart ofFIG. 7 provides merely an example of the many different types of functional arrangements that may be employed to implement the operation of the portion of theelectronic commerce application 133 as described herein. As an alternative, the flowchart ofFIG. 7 may be viewed as depicting an example of steps of a method implemented in the computing device 103 (FIG. 1 ) according to one or more embodiments. - Beginning with
box 703, a search query 211 (FIG. 2 ) is retrieved from a client 106 (FIG. 1 ) by a computing device 103 (FIG. 1 ). Thesearch query 211 is related to items 155 (FIG. 1 ) included in a catalog 154 (FIG. 1 ) stored in the data store 136 (FIG. 1 ). The search query 211 (e.g., “formal shoes women”) is provided by a user in a search field 213 (FIG. 2 ) in a network page 196 (FIG. 1 ) rendered in a browser 193 (FIG. 1 ). - In
box 706, acatalog 154 is searched based at least in part on thesearch query 211 using a search application 163 (FIG. 1 ) in a electronic commerce application 133 (FIG. 1 ) executed in thecomputing device 103. Further, inbox 709, a collection ofitems 155 is generated in response to the search inbox 706. Next, inbox 711, thecomputing device 103 gathers item data 156 (FIG. 1 ) corresponding to the collection ofitems 155 generated inbox 709. The item data 156 includes, for example,item representations 209, item images, and/or other data related toitems 155. - After gathering the item data 156, a network page 196 (
FIG. 1 ) is encoded using a network page encoder 166 (FIG. 1 ) in theelectronic commerce application 133 executed in thecomputing device 103. Thenetwork page 196 includes at least a portion of the gathered item data 156, and when rendered, thenetwork page 196 provides a matrix view 203 (FIG. 2 ) of at least a portion of the gathered item data 156. Thematrix view 203 includes at least two or more streams 206 (FIG. 2 ). At least one of thestreams 206 includes a moving progression across a portion of thenetwork page 196 of at least a portion of theitem representations 209 included in the gathered item data 156. Each item datum 156 corresponds to a respective one of theitems 155 in the collection ofitems 155. Inbox 716, thenetwork page 196 is sent from thecomputing device 103 to theclient 106 over the network 109 (FIG. 1 ). - In some embodiments, additional item data 156 corresponding to
additional items 155 is retrieved for inclusion in an existingnetwork page 196. For example, as illustrated inFIG. 7 , thecomputing device 103 retrieves a request for additional item data 156 from theclient 106. This request may be in the form of asecond search query 211. In such a case, a second search is performed using thesearch application 163 that generates a second collection ofitems 155. Additional item data 156 corresponding to the second collection ofitems 155 is gathered inbox 721. The additional item data 156 is sent to theclient 106 for updating thematrix view 203. - Turning now to
FIG. 8 , shown is a flowchart that provides one example of the operation of a portion of the matrix view executable 197 (FIG. 1 ) according to various embodiments. It is understood that the flowchart ofFIG. 8 provides merely an example of the many different types of functional arrangements that may be employed to implement the operation of the portion of thematrix view executable 197 as described herein. As an alternative, the flowchart ofFIG. 8 may be viewed as depicting an example of steps of a method implemented in the client 106 (FIG. 1 ) according to one or more embodiments. - Beginning with
box 803, a search query 211 (FIG. 2 ) (e.g., “formal shoes women”) is retrieved from a user using aclient 106. Thesearch query 211 is provided by a user in a search field 213 (FIG. 2 ) rendered in a network page 196 (FIG. 1 ) in a browser 193 (FIG. 1 ). Thesearch query 211 is related to items 155 (FIG. 1 ) and corresponding to item data 156 (FIG. 1 ) included in a catalog 154 (FIG. 1 ) stored in the data store 136 (FIG. 1 ) in the computing device 103 (FIG. 1 ). - In
box 806, thesearch query 211 is sent to thecomputing device 103 from theclient 106 over the network 109 (FIG. 1 ). Anetwork page 196 is obtained from thecomputing device 103 inbox 809. Thenetwork page 196 includes item data 156 corresponding to at least a portion of a collection ofitems 155 generated by thecomputing device 103 in response to a search based on thesearch query 211 sent to thecomputing device 103. The item data 156 includes, for example, item representations 209 (FIG. 2 ), item images, and/or other data related toitems 155. - In
box 813, thenetwork page 196 that was retrieved from thecomputing device 103 is rendered in abrowser 193. When rendered, thenetwork page 196 provides a matrix view 203 (FIG. 2 ) of at least a portion of the item data 156. Thematrix view 203 includes at least two or more streams 206 (FIG. 2 ). At least one of thestreams 206 includes a moving progression across a portion of thenetwork page 196 of at least a portion ofitem representations 209 included in the gathered item data 156. Eachitem representations 209 corresponds to a respective one of theitems 155 in the collection ofitems 155. - In
box 816, an input is received in theclient 106 from a user. The input is related to a configuration change or update initiated by a user. The configuration change or update may be related to astream 206 or thematrix view 203. For example, the configuration change or update may be an adjustment of a speed of one or more of thestreams 206 in thematrix view 203. Another example of a configuration change or update includes an addition or deletion of one ormore streams 206. Theadditional stream 206 may include a moving progression ofadditional item representations 209 associated with anothersearch query 211 across thenetwork page 196. - Other examples of a configuration change or update include a pause of a movement of item data 156 in a
stream 206, a deletion of item data 156 from thematrix view 203, a sorting of the item data 156 in astream 206, a creation or change of a definition of sort criteria for astream 206, a change of the number of columns and/or rows in amatrix view 203, and/or a highlight 403 (FIG. 4 ) of anditem representation 209 item data 156 in astream 206. In some embodiments, thematrix view 203 provides a menu 300 (FIG. 3 ) to facilitate configuring, changing, and/or updating astream 206 or thematrix view 203. In some embodiments,streams 206 are sorted according to different criteria. - In some embodiments, the configuration change or update is a selection of at least a portion of the item data 156 in the
matrix view 203. The selected item data 156 is then aggregated and presented in a summary view 500 (FIG. 5 ). Inbox 819, thematrix view 203 is updated based at least in part on the input received inbox 816. - With reference to
FIG. 9 , shown is a schematic block diagram of thecomputing device 103 according to an embodiment of the present disclosure. Thecomputing device 103 includes at least one processor circuit, for example, having aprocessor 903 and amemory 906, both of which are coupled to alocal interface 909. To this end, thecomputing device 103 may comprise, for example, at least one server computer or like device. Thelocal interface 909 may comprise, for example, a data bus with an accompanying address/control bus or other bus structure as can be appreciated. - Stored in the
memory 906 are both data and several components that are executable by theprocessor 903. In particular, stored in thememory 906 and executable by theprocessor 903 is anelectronic commerce application 133, and potentially other applications. Theelectronic commerce application 133 includes asearch application 163 and anetwork page encoder 166. Also stored in thememory 906 may be adata store 136 and other data. In addition, anoperating system 913 may be stored in thememory 906 and executable by theprocessor 903. - Similarly, with reference to
FIG. 10 , shown is a schematic block diagram of theclient 106 according to an embodiment of the present disclosure. Theclient 106 includes at least one processor circuit, for example, having aprocessor 1003 and amemory 1006, both of which are coupled to alocal interface 1009. To this end, theclient 106 may comprise, for example, a desktop computer, a laptop computer, a personal digital assistant, a cellular telephone, set-top box, music players, web pads, tablet computer systems, or other devices with like capability. Thelocal interface 1009 may comprise, for example, a data bus with an accompanying address/control or other bus structure as can be appreciated. - Stored in the
memory 1006 are several components that are executable by theprocessor 1003. In particular, stored in thememory 1006 is adata cache 198 and executable by theprocessor 1003 is abrowser 193, and potentially other applications. In addition, anoperating system 1013 may be stored in thememory 1006 and executable by theprocessor 1003. - Referring to
FIGS. 9 and 10 , it is understood that there may be other applications that are stored in thememory processors - A number of software components are stored in the
memory processor processor memory processor memory processor memory processor memory - The
memory memory - Also, the
processor multiple processors memory multiple memories local interface FIG. 1 ) that facilitates communication between any two of themultiple processors processor memories memories local interface processor - Although the
electronic commerce application 133, thematrix view executable 197, and other various systems described herein may be embodied in software or code executed by general purpose hardware as discussed above, as an alternative the same may also be embodied in dedicated hardware or a combination of software/general purpose hardware and dedicated hardware. If embodied in dedicated hardware, each can be implemented as a circuit or state machine that employs any one of or a combination of a number of technologies. These technologies may include, but are not limited to, discrete logic circuits having logic gates for implementing various logic functions upon an application of one or more data signals, application specific integrated circuits having appropriate logic gates, or other components, etc. Such technologies are generally well known by those skilled in the art and, consequently, are not described in detail herein. - The flowcharts of
FIGS. 7 and 8 show the functionality and operation of an implementation of portions of theelectronic commerce application 133 and thematrix view executable 197. If embodied in software, each block may represent a module, segment, or portion of code that comprises program instructions to implement the specified logical function(s). The program instructions may be embodied in the form of source code that comprises human-readable statements written in a programming language or machine code that comprises numerical instructions recognizable by a suitable execution system such as aprocessor - Although the flowcharts of
FIGS. 7 and 8 show a specific order of execution, it is understood that the order of execution may differ from that which is depicted. For example, the order of execution of two or more blocks may be scrambled relative to the order shown. Also, two or more blocks shown in succession inFIGS. 7 and 8 may be executed concurrently or with partial concurrence. In addition, any number of counters, state variables, warning semaphores, or messages might be added to the logical flow described herein, for purposes of enhanced utility, accounting, performance measurement, or providing troubleshooting aids, etc. It is understood that all such variations are within the scope of the present disclosure. - Also, any logic or application described herein, including the
electronic commerce application 133 and thematrix view executable 197, that comprises software or code can be embodied in a non-transitory form in any computer-readable medium for use by or in connection with an instruction execution system such as, for example, aprocessor - It should be emphasized that the above-described embodiments of the present disclosure are merely possible examples of implementations set forth for a clear understanding of the principles of the disclosure. Many variations and modifications may be made to the above-described embodiment(s) without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.
Claims (21)
1-19. (canceled)
20. A non-transitory computer-readable medium embodying a program executable in at least one computing device, comprising:
code that obtains a plurality of item representations; and
code that encodes a network page including a plurality of streams, a first stream of the plurality of streams comprising a plurality of stream segments, at least one of the plurality of stream segments being capable of being detached from the first stream to form a second stream, individual ones of the plurality of streams corresponding to a moving progression of a respective subset of the plurality of item representations across at least a portion of the network page.
21. The non-transitory computer-readable medium of claim 20 , wherein the code that obtains the plurality of item representations is further configured to obtain the plurality of item representations based at least in part on a search query.
22. The non-transitory computer-readable medium of claim 20 , wherein the plurality of streams form a matrix view.
23. The non-transitory computer-readable medium of claim 20 , wherein the network page includes a component configured to adjust a traveling speed of at least one of the plurality of streams.
24. A system, comprising:
at least one computing device; and
at least one application executed in the at least one computing device, the at least one application comprising:
logic that encodes a network page that includes a plurality of streams, at least one of the plurality of streams corresponding to a moving progression of a respective subset of a collection of item representations across at least a portion of the network page, a first stream segment of a first stream of the plurality of streams being capable of being detached from the first stream to form a second stream; and
logic that sends the network page to another computing device.
25. The system of claim 24 , wherein the at least one application further comprises:
logic that obtains a search query from the other computing device; and
logic that determines the collection of item representations based at least in part on the search query.
26. The system of claim 24 , wherein the at least one of the plurality of streams is in a circular orientation across the at least a portion of the network page.
27. The system of claim 24 , wherein the plurality of streams are arranged in a matrix having a number of columns and a number of rows.
28. The system of claim 24 , wherein the first stream includes a plurality of stream segments.
29. The system of claim 24 , wherein at least one item representation of the collection of item representations comprises an item image.
30. The system of claim 24 , wherein the network page includes at least one component that, when selected, is configured to adjust a traveling speed of a particular stream of the plurality of streams.
31. A method, comprising:
receiving, by a computing device, data encoding a network page that includes a set of streams, at least one of the set of streams corresponding to a moving progression of a respective subset of a collection of item representations across at least a portion of the network page, a first stream segment of a first stream of the set of streams being capable of being detached from the first stream to form a second stream; and
causing, by the computing device, the network page to be rendered for display.
32. The method of claim 31 , further comprising sorting, by the computing device, the respective subset of the collection of item representations based at least in part on a sort criterion.
33. The method of claim 31 , further comprising:
receiving, by the computing device, additional data relating to an additional item representation; and
including, by the computing device, the additional item representation in the at least one of the set of streams.
34. The method of claim 31 , wherein the moving progression occurs once in response to the network page being rendered.
35. The method of claim 31 , further comprising:
receiving, by the computing device, a selection of the first stream segment from a plurality of stream segments of the first stream; and
detaching, by the computing device, the first stream segment from the plurality of stream segments to form the second stream upon the network page.
36. The method of claim 31 , further comprising:
receiving, by the computing device, a selection of a subset of the set of streams; and
adjusting, by the computing device, a traveling speed of the subset of the set of streams.
37. The method of claim 31 , further comprising rearranging, by the computing device, a subset of the set of streams within the network page.
38. The method of claim 31 , further comprising deleting, by the computing device, a selected item representation from the first stream.
39. The method of claim 31 , further comprising deleting, by the computing device, a selected subset of the set of streams from the set of streams.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/338,736 US20140337350A1 (en) | 2010-03-25 | 2014-07-23 | Matrix viewing |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/731,707 US8793333B1 (en) | 2010-03-25 | 2010-03-25 | Matrix viewing |
US14/338,736 US20140337350A1 (en) | 2010-03-25 | 2014-07-23 | Matrix viewing |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/731,707 Continuation US8793333B1 (en) | 2010-03-25 | 2010-03-25 | Matrix viewing |
Publications (1)
Publication Number | Publication Date |
---|---|
US20140337350A1 true US20140337350A1 (en) | 2014-11-13 |
Family
ID=51212177
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/731,707 Expired - Fee Related US8793333B1 (en) | 2010-03-25 | 2010-03-25 | Matrix viewing |
US14/338,736 Abandoned US20140337350A1 (en) | 2010-03-25 | 2014-07-23 | Matrix viewing |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/731,707 Expired - Fee Related US8793333B1 (en) | 2010-03-25 | 2010-03-25 | Matrix viewing |
Country Status (1)
Country | Link |
---|---|
US (2) | US8793333B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5620958B2 (en) * | 2012-09-24 | 2014-11-05 | ヤフー株式会社 | Advertisement display control device, terminal device, advertisement display method, and advertisement display program |
US10459608B2 (en) | 2014-12-01 | 2019-10-29 | Ebay Inc. | Mobile optimized shopping comparison |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050171940A1 (en) * | 2004-02-04 | 2005-08-04 | Fogg Brian J. | Dynamic visualization of search results on a user interface |
US20070198476A1 (en) * | 2006-02-14 | 2007-08-23 | Microsoft Corporation | Object search ui and dragging object results |
US20080068340A1 (en) * | 2005-03-03 | 2008-03-20 | Agere Systems Inc. | Mobile Communication Device Having Automatic Scrolling Capability and Method of Operation Thereof |
US20080235205A1 (en) * | 2007-02-21 | 2008-09-25 | Fein Gene S | Database Search Results User Interface |
US20090187558A1 (en) * | 2008-01-03 | 2009-07-23 | Mcdonald John Bradley | Method and system for displaying search results |
US20090271369A1 (en) * | 2008-04-28 | 2009-10-29 | International Business Machines Corporation | Computer method and system of visual representation of external source data in a virtual environment |
US20090287657A1 (en) * | 2008-05-13 | 2009-11-19 | Bennett James D | Network search engine utilizing client browser activity information |
US20100333204A1 (en) * | 2009-06-26 | 2010-12-30 | Walltrix Corp. | System and method for virus resistant image transfer |
US8001487B2 (en) * | 2006-04-12 | 2011-08-16 | Laas & Sonder Pty Ltd | Method and system for organizing and displaying data |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8196045B2 (en) * | 2006-10-05 | 2012-06-05 | Blinkx Uk Limited | Various methods and apparatus for moving thumbnails with metadata |
US20090019383A1 (en) * | 2007-04-13 | 2009-01-15 | Workstone Llc | User interface for a personal information manager |
KR101415763B1 (en) * | 2007-10-04 | 2014-07-08 | 엘지전자 주식회사 | Mobile terminal and its image display method |
US20090287655A1 (en) * | 2008-05-13 | 2009-11-19 | Bennett James D | Image search engine employing user suitability feedback |
US20100076960A1 (en) * | 2008-09-19 | 2010-03-25 | Sarkissian Mason | Method and system for dynamically generating and filtering real-time data search results in a matrix display |
-
2010
- 2010-03-25 US US12/731,707 patent/US8793333B1/en not_active Expired - Fee Related
-
2014
- 2014-07-23 US US14/338,736 patent/US20140337350A1/en not_active Abandoned
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050171940A1 (en) * | 2004-02-04 | 2005-08-04 | Fogg Brian J. | Dynamic visualization of search results on a user interface |
US20080068340A1 (en) * | 2005-03-03 | 2008-03-20 | Agere Systems Inc. | Mobile Communication Device Having Automatic Scrolling Capability and Method of Operation Thereof |
US20070198476A1 (en) * | 2006-02-14 | 2007-08-23 | Microsoft Corporation | Object search ui and dragging object results |
US8001487B2 (en) * | 2006-04-12 | 2011-08-16 | Laas & Sonder Pty Ltd | Method and system for organizing and displaying data |
US20080235205A1 (en) * | 2007-02-21 | 2008-09-25 | Fein Gene S | Database Search Results User Interface |
US20090187558A1 (en) * | 2008-01-03 | 2009-07-23 | Mcdonald John Bradley | Method and system for displaying search results |
US20090271369A1 (en) * | 2008-04-28 | 2009-10-29 | International Business Machines Corporation | Computer method and system of visual representation of external source data in a virtual environment |
US20090287657A1 (en) * | 2008-05-13 | 2009-11-19 | Bennett James D | Network search engine utilizing client browser activity information |
US20100333204A1 (en) * | 2009-06-26 | 2010-12-30 | Walltrix Corp. | System and method for virus resistant image transfer |
Also Published As
Publication number | Publication date |
---|---|
US8793333B1 (en) | 2014-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10146887B2 (en) | Providing separate views for items | |
US10410258B2 (en) | Graphical user interface for high volume data analytics | |
US20210096708A1 (en) | Methods and apparatuses for dynamically generating mobile application layouts using client- independent configuration | |
US11763076B2 (en) | Document applet generation | |
US9965567B2 (en) | Adaptive content management system for multiple platforms | |
US9424237B2 (en) | Flexible analytics-driven webpage design and optimization | |
US20170102866A1 (en) | System for high volume data analytic integration and channel-independent advertisement generation | |
US9195757B2 (en) | Dynamic digital montage | |
US20130326333A1 (en) | Mobile Content Management System | |
US10497041B1 (en) | Updating content pages with suggested search terms and search results | |
US20160132611A1 (en) | System and method for providing business objecct information on web pages | |
KR20130014581A (en) | Selecting content based on interest tags that are included in an interest cloud | |
US10789413B2 (en) | Web page designing with timelines | |
US9633386B1 (en) | Display of items from search | |
US10725638B1 (en) | System and method for creation of marketing analytic dashboards | |
US10289613B2 (en) | Element identifier generation | |
US20170024472A1 (en) | Information retrieval method utilizing webpage visual and language features and system using thereof | |
US20140337350A1 (en) | Matrix viewing | |
CN112613287A (en) | Data list display method, device, equipment and storage medium | |
US9176645B1 (en) | Manipulating collections of items in a user interface | |
US10788959B2 (en) | Personalization of a web application | |
US9443265B1 (en) | Method, system, and computer readable medium for selection of catalog items for inclusion on a network page | |
US10503372B2 (en) | Navigation among items in a network page | |
US8635268B1 (en) | Content notification | |
US11676173B1 (en) | Webpage zone exposure rate optimization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: A9.COM, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AMACKER, MATTHEW;REEL/FRAME:033599/0351 Effective date: 20100322 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |