The present invention relates to a method and system for dynamic assembly of multimedia presentation threads.
Conventional media, such as books or video, typically are single threaded. That is, the user navigates through a book from “Chapter 1” to “Chapter 2”, and so on, or watches a video presentation linearly, often from the starting point. Although the reader of a book may vary the journey and jump to a particular content area, guided by the table of contents or the index, the user follows the original thread, just from a different starting point.
With the introduction of electronic books (e-books), users have been able to create their own customized works. Using an e-book compiler, one can compile a customized e-book by combining selected text documents from multiple sources to create a series of chapters. However readers still experience the e-book identically to a conventional book, and there is no customization within specific chapters of the e-book.
Over the years, various attempts have been made to provide information in a more customized fashion. For example, there are prior art sales tools that provide information based upon an initial survey. Some of these software tools even provide content in various formats, so that different media (video, white papers or power point slides) are presented based upon the survey data collected. Users travel on distinct paths accessing different content, based upon their survey responses. However, a notable limitation of these prior art sales tools is that customization is based singularly upon the initial survey input, and each thread is independent, with different distinct endpoints and no intersections.
The present invention involves a technique for the customization and display of multimedia content. Customization is via a dynamic thread generator that receives data from multiple inputs including, but not limited to, user surveys, demographic databases, analytics of past customer behavior and preferences stored in a customer relationship management system, analytics of customer interaction with the media in the tool, and/or interaction of the user with sensors/measurement devices. A user thread is a specific path consisting of nodes, which are collections of customized multimedia content. The dynamic thread generator produces a plurality of thread nodes, which can be traversed in a particular order, such that the each node's multimedia content and the thread path are customized to the particular user.
A notable feature of the present invention is that the customization of content changes dynamically as the user traverses a presentation thread and interacts with the system. Furthermore several content elements, such as an animated simulation and multiple video clips, may be assembled from a content database and displayed simultaneously at each thread node. In an embodiment, a presentation snippet can include different content output on multiple and discretely different devices connected simultaneously via a wireless, cell phone or computer network.
The assembled presentation threads can be used for various purposes, such as, for example, to construct tailored sales presentations directed to various different personnel within an organization, present information on how to use a product or service, select a product or service, explain how to learn to play a sport (such as golf, tennis or baseball), and learn a complex subject such as marketing or technology management.
Preferably, the assembled presentation threads are presented via a mobile device such as a tablet computer or a smart phone, and the set of inputs includes those entered by the user via a touch screen in response to one or more question, and/or via interaction with sensors. The multimedia threads may also be presented via an Internet web page or a Web-enabled television, and/or on multiple such display devices simultaneously.
These and other aspects, features, and advantages of the present invention will become apparent from the following detailed description of preferred embodiments, which is to be read in connection with the accompanying drawings.
For clarity and consistency, the following definitions are provided for use herein:
Presentation snippet: A component of a multimedia presentation, such a video clip, an animation, a survey, text, an audio recording, a hologram and/or any other media content, or a combination thereof
Thread node: A node of a presentation thread representing a presentation snippet.
Presentation Thread: The sequence of thread nodes comprising customized multi-media content for a particular user.
Referring to
The generated presentation thread 110 can include customized information, thereby creating a multimedia presentation tailored to a particular user. The dynamic thread generator 120 can be a standalone application stored in, and executed using, a single computing device or implemented on one or more servers accessible by one or more client devices. In an embodiment, the dynamic thread generator 120 is configured to generate a plurality of presentation threads 110, each for one of a plurality of users.
As the user traverses the presentation thread 110, the dynamic thread generator 120 generates the next thread nodes of the presentation thread 110. At each thread node, at least one presentation snippet, assembled using content from a content database 140, is outputted to the user. The content database 140 can include any organized collection of media files (e.g., text files, audio files, video files). In an embodiment, a plurality of content elements, such as animated simulations and multiple video clips may be assembled into a presentation snippet, and displayed simultaneously, or in sequence. In an embodiment, the selection, assembly, and ordering depend on the set of rules 125 as well as the capabilities of the user device. In an embodiment, the dynamic thread generator 120 assembles each presentation snippet from content elements selected from the content database 140 “on the fly” as the user traverses the presentation thread 110. However, in other embodiments, the presentation snippets are pre-assembled, and the pre-assembled presentation snippets are selected from the content database (e.g., as HTML files). Preferably, the rules 125 are maintained in a separate module, file, or database and can be modified by changing (or replacing) the module, file, or database fields without requiring any change to another component. However, in an embodiment, the rules 125 can be “hard coded” within the application logic.
Referring to
As shown in
The techniques of the present invention described herein (e.g., use of the dynamic thread generator 120 to generate a presentation thread 110) can be accomplished by loading an appropriate application 306 into the memory 305 and executing the application 306. Where the device 160 is the Apple iPad, the user inputs 105 can be received via the touchscreen 306 and the generated presentation thread 110 can be presented to the user by way of the same touchscreen 306 (and speakers), for example. An application 306 for the Apple iPad can be developed using the Apple Developer Suite, including use of Xcode, Interface Builder, and iPhone Simulator development tools, or via custom programming in Objective C. Furthermore, the Apple “Media Player” framework can be used to provide media playback capabilities for the iPad. Apple supports at least the following codecs: H.264 Baseline Profile 3, MPEG-4 Part 2 video in .mov, .m4v, .mpv, or .mp4 containers, as well as AAAC-LC and MP3 formats (for audio). The content database 140 described herein can include a folder (or set of folders) including a collection of media files in supported formats. The media files can exist in the memory 305 or an external server addressable by a URL, for example. For further information regarding programming for the Apple iPad, see, Sams Teach Yourself iPad Application Development in 24 Hours, by John Ray, Sams (Pearson Education, Inc.), 2011, ISBN 978-0-672-33339-2, which is incorporated herein by reference in its entirety. It is to be understood that where the device 160 is other than the Apple iPad, other programming techniques and tools can be used. For example, where the device 160 is a mobile device such as a smartphone or tablet computer utilizing the Android operating system, an appropriate Android software development kit (SDK) can be used to provide the tools and application program interfaces (API) for developing the application 306 on the Android platform using the Java programming language.
Additionally, a user-ID can be used to track the user. For existing clients, the user-ID can be provided by the user through an authentication process upon user log-in. New users can be assigned a unique user-ID and select a password, for example. Furthermore, a thread-ID can be assigned for the particular session for the generated presentation thread 110. Other user information (e.g., demographics, purchase history, preferences) may also be obtained from various sources, e.g., the analytics/external databases 130. In certain cases, the user might be a sales lead with whom a sales associate has already been working or an existing customer who desires information as to another product or service. The device 160 could be a tablet computer provided by a sales associate during a sales presentation, for example. As the user traverses the presentation thread 110, the dynamic thread generator 120 keeps track of the user's position (current thread node), and generates/selects a presentation snippet associated with the current thread node for display on the user's device 160, where it is presented to the user. User inputs (e.g., responses to a survey) are sent from the device 160 back to the dynamic thread generator 120.
It is to be understood that the dynamic thread generator 120 includes a computer system and software of the invention stored in memory. In the embodiment illustrated in
It is to be understood that although not illustrated, the analytics/external data 130 can be accessed from external sources each of which have their own computers with central processors, memory (RAM, ROM, etc.), fixed and removable code storage devices (hard drive, floppy drive, CD, DVD, memory stick, etc.), input/output devices (keyboards, display monitors, pointing devices, printers, etc.), and communication devices (Ethernet cards, WiFi cards, modems, etc.). Alternatively, the analytics/external data 130 and the content database 140 can be implemented on the same physical computer system.
Although the Internet 150 is depicted as being used for communication among the illustrated entities, it is to be understood that other network elements could, alternatively, or in addition, be used. These include any combination of wide area networks, local area networks, public switched telephone networks, wireless or wired networks, intranets, or any other distributed processing network or system.
Referring to
When the user touches either “Business” 202 or “Information Technology” 204, the input is used to determine the next node in the presentation thread 110. Depending on the selection, the user will traverse different presentation threads 110. However, even though these presentation threads 110 are separate and distinct, there are points where the presentation threads 110 intersect; that is there are presentation snippets which are common to all users. Furthermore, the user may “go back” to the prior presentation snippet by touching the left arrow 212 (at the bottom of the screen). If the user responds differently than he or she did previously when at the prior node (e.g., this time selects “Business” 202 instead of “Information Technology” 204) then the user will traverse a different path through the presentation thread 110. (Of course, the user would not be able to “go back” from the first node since there is nothing prior to this).
Retail Store Sales Tool for Selection of Eyeglass Frames
In this example, we discuss an implementation of a retail store sales tool for selection of eyeglass frames. Potential users of the sales tool include (1) customers interested in purchasing new eyeglass frames, and (2) sales associates in the store. Both the customers and the sales associates may use the application via the Internet or a tablet computer. The challenge is that a typical eyeglass store has more than one thousand frames, but given a customer's eye prescription, face type, price sensitivity, and fashion preference, etc., only a small subset of frames will actually “fit” a particular customer. In this example, for the customer using the sales tool, the inputs would include the customer's gender, prescription data, and insurance information (if any), which could be retrieved from a customer database (or directly obtained from the user). Additionally, a survey could be used to have the customer select their “lifestyle preference” (active, professional, etc). Furthermore, a digital camera could take a photograph of the customer's face so as to determine the customer's face type. A customer's face type can be determined via analysis of the photograph—an oval shape is matched to the face with length positioned from the tip of the chin to top of the head and width from ear to ear. The ratio of the length of the oval to the width of the oval defines a face type index. An index >1 indicates a long oval face, an index closer to 1 a round face. Based on this face index and eye position relative to the oval, the dynamic thread generator 120 can provide expert fashion advice assembled from the content database 140 and select frames that are a best match to a particular face type.
As an example of one possible presentation thread 110, the rules 125 could narrow the frame sections to approximately 20 possibilities based upon the prescription data, gender, and face type, wherein the frame information is dynamically retrieved from a product database and images of the frames displayed on a virtual mirror where the customer can simulate trying on the suggested frames over their captured face video. For example, given the following three data elements—bi-focal prescription, female, round face type—an SQL query of the product database might would return a subset of approximately 20 frames that would most likely match the customer.
At the next node in the presentation thread 110, a survey could obtain lifestyle preference so that at the next thread node the user would see related expert videos. For example, a customer indicating interest in fashion might see a celebrity fashion guru describing his or her frame selection choices, an active lifestyle person may see a professional athlete discussing why he or she wears specific glasses and lenses, etc. Furthermore, coated lenses are significantly higher profitability, so that the testimonials could further include up-sell of these products. At another next node in the presentation thread 110, simulations could be presented to show how a polarized lens enables users to see more vivid color than non-coated. Finally, the user's insurance data could be used to help show four or five frame options for different levels of co-payments, and the presentation threads 110 could converge at an online checkout. Throughout the presentation thread 110, a coach 210 guides the journey, with customized appearance and dialogue at each thread node.
The sales associate presentation thread 110 would be different, but would have some of the identical presentation snippets assembled from the content database 140. For example, the sales associate could use the tool to learn about fashion advice and how to simplify the buying decision for customers, accessing identical video and simulation content as the customer. However, the sales associate thread might also include additional video snippets from senior sales managers to help sales associates overcome customer objections, and through simulations of customer interactions show better approaches to cross-sell and up-sell high margin products.
Learning Tool
In this example, we show how the invention is applicable to learning subjects, such as art appreciation, marketing, technology management, finance, engineering, fashion and design, etc. For example, if the topic were heart surgery, users could be surgeons, anesthesiologists, medical students, interns, nurses, insurance or compliance administrators, and so forth. The content database 140 would include heart simulations, video from expert surgeons describing proper surgical techniques and procedures. As different users interact with the system, custom threads would be generated so that the surgeon might learn the latest open-heart techniques from video snippets of world-renowned experts, in conjunction with heart simulations. A different audience, the surgical nurse, for example, would view some of the same content as the surgeon from the content data base 140, but might also see video snippets of expert nurses assisting surgeons, along with simulations on optimizing work flow in an operating room. A virtual coach would be assigned with customized content to the different users.
If the subject was finance, for example, the users might be senior finance executives, MBA students, compliance managers, and so forth. The content database 140 would include media files containing expert advice on various financial subjects from chief financial officers, compliance officers, tax experts, and the like. Thus, the respective media libraries would contain video snippets of experts presenting information, simulations, and other content relevant to each respective audience, and the dynamic thread generator 120 would generate a customized presentation thread 110 for the respective audience, as they interact with the system.
In these examples, surveys can be used to gather information useful for dynamically customizing the presentation thread 110 for specific users. To that end, the content database 140 can contain a library of survey templates. In an embodiment, the surveys can be used to measure knowledge transfer as participants traverse their presentation thread 110, and the thread can be changed dynamically to reinforce concept knowledge that measures below a pre-defined threshold.
Virtual Golf School
In this example, a user having a smart phone equipped with a built-in gyroscope and accelerometer (such as the Apple iPhone) uses the device to practice golf swings. At the beginning of the presentation thread 110, the user is asked to swing the smart phone as if it were a golf club. While “swinging” the smart phone, motion data is captured by the gyroscope/accelerometer useful in determining the swing path, the point of ball “impact”, and the instantaneous velocity at the point of impact. The pitch/roll/yaw of the imaginary golf club relative to an axis representing the club head can also be determined. Video and simulation snippets are then selected from the content database 140 and presented to the user, including video recordings of an expert golf instructor, who may be male or female, depending on the gender of the user (as determined from available demographics data). If it was determined that the user sliced the golf ball (curved the ball right of the target), the user might be presented with a video and simulation snippets on how to correct the slice. At the next thread node the user could be prompted to try an exercise with their device in hand to correct the slice, and customized audio output such as “hook”, “slice”, “straight”, and so forth, would be audibly outputted, as appropriate. In this example, the expert golf instructor would also be the virtual coach throughout.
This example also demonstrates an additional aspect of the invention, namely, outputs presented using multiple and discretely different devices, connected simultaneously via a network. For instance, as the user swings his or her smart phone, a golf ball simulation showing the flight of the ball along with video of an expert golf instructor offers advice are presented. In an embodiment, as the user swings the smart phone, the golf ball flight simulation is presented on a first device (e.g., a desktop computer, Web-enabled TV, or a tablet computer) while the video of the instructor offering the advice appears on a second device (e.g., the smart phone).
While this invention has been described in conjunction with the various exemplary embodiments outlined above, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, the exemplary embodiments of the invention, as set forth above, are intended to be illustrative, not limiting. Various changes may be made without departing from the spirit and scope of the invention.