The present invention relates to a graphical user interface capable of displaying disparate content contemporaneously. The invention finds particular, but not exclusive, use when utilising a content delivery system described in a co-pending application in the names of Ian Shaw Burnett, Stephen James Davis and Gerrard Mathew Drury (assigned to Enikos Pty Ltd, an Australian company), entitled “A Method and System for Content Delivery”, filed on 2 Mar. 2007 as a provisional patent application before the United States Patent and Trademark Office.
More sophisticated methods of delivering content across a computer network are being developed. However, for many users, it remains difficult to create, publish or deliver such content in a sophisticated and effective manner.
Many tools, such as webpage/website authoring software, image processing software, and even ‘on-line’ website authoring tools are cumbersome to use and either have limited functionality or, at the other extreme, require the user to have intimate knowledge of Internet standards, protocols and design principles.
In a first aspect, the present invention provides a graphical user interface for displaying content, comprising at least two display areas, including a first display area arranged to display a primary time based media element, and at least one second display area arranged to display at least one secondary media element that is temporally associated with the primary time based media element.
The graphical user interface may further comprise a third display area, arranged to display annotations which are temporally associated with the time based media element displayed in the first display area.
A plurality of additional display areas may be provided, each display area being arranged to display at least one additional media element.
At least one of the additional display areas may be arranged to display at least one additional media element which is temporally associated with the primary media element.
The user interface may be constructed utilising an information set, the information set including information regarding at least one of the temporal associations of the secondary and/or additional media elements to the primary media element.
The user interface may further comprise a timing command arranged to poll the information set at predetermined time intervals, to determine whether further secondary media elements and/or additional media elements should be displayed, and may also include a retrieval command arranged to access the information set to retrieve a locator for the at least one of the primary media element, the at least one secondary media element or the at least one tertiary media element.
The information set may include information regarding a plurality of discrete timing information sets, each timing information set operating independently of each other timing information set.
Each one of the plurality of timing information sets may be associated with at least one of the at least one secondary or additional media elements. The timing information set may include instructions to invoke a further timing information set.
The graphical user interface may include a search facility arranged to search the information sets to locate a particular primary, secondary or additional element.
The user interface may be downloaded as a file which is capable of being executed by web browsing software. The file may include Hyper-Text Mark-up Language (HTML) and JavaScript programming information capable of interpretation by web browsing software and may be written in programming code including Asynchronous JavaScript and XML (AJAX) techniques.
The user interface may also be a widget arranged to be included in a webpage.
The information set may be located at a remote location from the user interface. At least one of the primary media element, at least one secondary media element and at least one additional media element may also be located on a remote server.
The primary media element may be one of a video and an audio file and the at least one secondary media element or additional media element may be any one of a video file, an audio file, a text file and a web page.
In a second aspect, the present invention provides a method of providing a graphical user interface for displaying content, comprising the steps of providing at least two display areas, including a first display area arranged to display a primary time based media element, and at least one second display area arranged to display at least one secondary media element that is temporally associated with the primary time based media element.
In a third aspect, the present invention provides a computer program arranged to, when executed on a computing system, carry out the method steps in accordance with the second aspect of the invention.
In a fourth aspect, the present invention provides a computer readable medium incorporating a computer program in accordance with a third aspect of the invention.
Notwithstanding any other forms which may fall within the scope of the present invention, a preferred embodiment will now be described, by way of example only, with reference to the accompanying drawings in which:
a-6d are screen captures of a graphical user interface in accordance with an embodiment of the present invention.
The user interface (as embodied in a software application or in a mark-up language or other interpreted language) in accordance with an embodiment of the invention may be executed on a computing system such as the example computing system shown in
It will be understood that the computing system described in the preceding paragraphs is illustrative only and that the presently described embodiment or other embodiments which fall within the scope of the claims of the present application may be executed on any suitable computing system, which in turn may be realized utilizing any suitable hardware and/or software. Other computing systems that may be suitable include server computers, hand-held or portable computing devices, consumer electronics, and other devices capable of receiving electronic information, including automated ‘teller’ machines and vending machines.
The server 202, and the client devices 204a, 204b, 204c, etc., may communicate with each other over the communications network 206 by use of any suitable networking protocol, such as TCP/IP or any other suitable protocol for the exchange of information 208. The exchange of information may include the provision of XML, HTML or other mark-up language files, the files providing information to be utilized and rendered in a user interface by any or all of the servers and client devices.
The embodiment described provides a user interface which displays temporarily associated disparate content in a logical and coordinated manner.
The system utilised to temporarily associate and deliver the content is known as “eniZone”, a product which allows media from diverse sources to be temporarily and temporally associated for display in a user interface in accordance with the embodiment described herein. The system provides a flexible framework such that content may be aggregated and deployed in a variety of environments.
A primary media type, which is generally a video or audio file (but could be any suitable temporal media), is displayed in a conventional web browser, which in turn may utilise any available ‘plug-in’ or other application or program to display the primary media type. For example, the ‘plug-in’ may be Realplayer™, Microsoft Media Player™ or a Java application arranged to display temporal media.
Additional media content (which may be any type of content, such as text, a webpage, a file, another video, an audio file, etc.) are associated with the primary media, so that on playback of the primary media, the additional content may be shown in conjunction with the primary media.
The user interface also displays the additional content in the web browser, or adjacent to the web browser (i.e. in the same ‘screen’ as the primary media). The user interface is arranged to display the additional content during a particular time sub interval of the primary media, so that the sequence in which the additional content is presented to the end user is controlled.
In order to access the media and the additional content, a user firstly accesses the user interface, which, in the embodiment described herein, is rendered in a web browser (such as Microsoft Internet Explorer™ or Mozilla™ Firefox™) as an interactive webpage. The webpage utilises AJAX (Asynchronous JavaScript and XML), a web development technique for creating interactive web applications.
The AJAX enabled webpage accesses the media by firstly accessing an intermediary server known as an “eniZone” server. The eniZone server contains information regarding the location of the relevant media, and also further temporal information which determines the time and order in which the additional media is displayed. In more detail, the web browser includes, in the URL, a call (request) which connects to a servlet (i.e. a Java application residing on a web server, which receives a request from JavaScript embedded in a webpage, processes the request, and returns a response). The servlet then responds with XML which contains the required information to construct the webpage and access the requisite primary and additional media elements.
One embodiment utilises a standard desktop web browser. In addition to accessing an eniZone ‘enabled’ website in the conventional manner, a user may also access a website which contains an eniZone ‘widget’, which is a small section or script of web standard code (such as HTML or JavaScript) that is embedded in another website, such as MySpace.
Of course, it will be understood that the user interface described herein may be utilised to deliver content to other computing devices, such as mobile phones, television set top boxes, etc.
In order to better understand the eniZone user interface, it is instructive to initially describe the eniZone system, which is the subject of a co-pending patent application, entitled “A System and Method for Delivering Content”.
The system includes a database server 300 which hosts the database containing the eniZone system information. The information may be divided into sets, the sets including user information, group information, category information, tag information, advertising information and Zone information.
The system also includes one or more application servers (302) which provide an interface between the database server 300 and the end user.
Other application servers can be added to the system as required for providing access to the eniZone system from other client platforms.
The client side interface of each application server will be specific to the client platform(s) the application server is intended to serve. However, each application server utilizes a common eniZone server library for providing the functionality accessed via the application server.
The system also includes one or more media servers 308 to host and serve media content that is uploaded to the eniZone system.
It will be understood that specialized media servers may be added to the system for handling specific media types, and the system is arranged to receive a large number of different media types, including images, video, audio, and any other type of suitable media.
In addition to servers which make up part of the system, the system may also access third party (external) servers 314 to utilise content hosted on the third party servers. That is, the media does not need to reside on media servers within the eniZone system but can be sourced from any location for which a URL for the media exists. Such media can include video, audio, images, text, web content, etc.
Third party servers 314 are also utilized by the eniZone system for supplementary information such as advertising material.
The servers (300-314) will generally be connected together through a suitable network, such as the one described with reference to
While
Referring to
Each application server (depicted in
In more detail, the client 402 is the eniZone AJAX client running in a standard web browser and the application server is an HTTP server that presents a Java servlet interface 404 to the eniZone library 408. The method steps followed by the system are as follows:
Steps 9 to 14 are repeated for the duration of the Zone timeline while the Zone media is playing. As required, other client platforms can be supported by using alternate client and/or application server technologies. For example, instead of directly using the eniZone servlet, the application server could present a SOAP/WSDL interface to the eniZone library.
An alternative client application utilizing the SOAP/WSDL interface (e.g. a Java based application for mobile phone applications) would be used to deliver information to the user from the database and media server. Although the interface presented by the application server has changed and the client applications are different, the eniZone server library remains the same for both application servers.
The eniZone library (depicted in
An end user does not need to be aware of the technology that underlies the eniZone library, as the user interacts with the eniZone library through a conventional web browser. For example, a user may load an eniZone page by simply typing an appropriate URL into their browser. For example, to load a Zone with Zone id of 12, the user would type:
http://www.eniZone.com/WatchZone.php?c=12
Moreover, an end user creating a ‘Zone’ need not have any formal knowledge of programming or of the underlying technology of eniZone. An end user may simply access their eniZone site through a conventional web browser, which will guide them through the creation of an eniZone page.
Referring now to
The graphical user interface 500 of
To access a Zone, a user may click on the summary box 506, which then takes the user to a webpage/website as shown in
Referring to
In other words, while the primary media element in first area 508 remains the same, a plurality of secondary media elements can be displayed in the second area 510, as the video displayed in the first area 508 progresses along a time line.
Moreover, additional areas, which are also temporally associated with the primary area, may be provided. In the example of
It will be understood that in other embodiments (not shown here) further additional areas may be provided, such as an area which displays context driven advertising, or areas that display further websites/text, or indeed any further media as dictated by the creator of a Zone. The embodiment described herein is not limited to providing only three areas where information may be displayed.
Referring now to
There is also provided an additional area 512, which in the present example provides a user with the ability to add or view annotations, the annotations being arranged to appear at predetermined time intervals during the display of the primary media element. As can be seen from the markers 512a, 512b and 512c, the annotations are linked to a particular time during display of the primary media element. For example, the first marker 512a provides an annotation which is displayed at the 4 second mark during display of the primary media element. It will be understood that the term ‘annotation’ should be construed broadly to include any relevant information, including author comments, third party comments, information generated by any party, including a software application, or any other information. The annotations may be provided in a textual format, or may also be provided in any suitable audible, visible or perceptible (including tactile and olfactory) manner.
e provides yet another example of a user interface in accordance with the embodiment described herein.
Each of the example user interfaces shown in
Referring now to
A user may log into the user interface by providing a username and password at login box 516. The login page may also contain further material, such as examples of available Zones 518, a signup page 520 (which allows a non-user to become a user), listings of new Zones 522 and/or news updates 524, advertising 526, or any other information as required.
Referring now to
The setup page requires a user to set a name for the Zone 528, link the Zone to a primary media element (for example, a video file or an audio file) or alternatively, upload a primary media element 530, provide a description of the Zone 532, select a thumbnail which represents the Zone 534, and provide some additional information 536 to uniquely identify the Zone. Once this information has been entered, a basic Zone is created.
Referring to
At
Moreover, if the user adding the annotation is the creator of the Zone, then any annotations made will be added to the “Author” annotations tab pane 604. Otherwise, the annotations they be added to the “User” annotations tab pane 606.
It will be understood that the particular example of the “user annotations” area is only one example of the manner in which secondary and additional media elements may be temporally associated with a primary media element.
When the user clicks on the annotate button 602, they are provided with a pop-up “create a new annotation” screen 608 as shown in
The user is provided with editor capabilities and may enter text into the box, to describe their annotation. The annotation is subsequently stored as XHTML.
Referring now to
Once the user has entered this information, the annotation is created. It should be noted that the temporal association (which may be entered at box 612) is automatically inserted if the user is playing the primary time based media element. Otherwise, the user may choose any suitable time.
When the “Create” button is clicked, the AJAX client calls the servlet to invoke the add annotation function in the eniZone library. This stores the annotation at the remote server, for later retrieval by any user who has permission to view the Zone.
The user interface described herein provides the user with a simple, intuitive yet powerful interface for viewing and receiving a complex arrangement of content.
As the user interface assembles content from a number of disparate sources into a single interface, the user is spared the inconvenience of opening multiple windows or trying to manage (or interact) with content across an entire range of user interfaces and/or devices. The user may focus on the content being displayed rather than attempting to ‘juggle’ different windows or devices.
It will be understood that the user interface described herein may be implemented not only as a standalone application, but may also be distributed across a number of routines, objects and components to achieve the same functionality as the embodiment and the broader invention claimed herein.
It will also be understood that the user interface may be easily arranged to operate on any suitable computing device, including but not limited to, mobile telephones, personal digital assistants, portable and tablet computing devices, television ‘set top’ boxes, or any other device capable of displaying information and/or receiving input from a user. Such variations and modifications would be within the purview of those skilled in the art.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/AU2008/000301 | 3/3/2008 | WO | 00 | 2/16/2010 |
Number | Date | Country | |
---|---|---|---|
60892593 | Mar 2007 | US |