System and method for scrolling through media files on touchscreen devices

A system and method for scrolling through a media file is presented. Playback of a media file is initiated. An instruction is received an instruction to enter a navigation mode. A set of one or more thumbnails is displayed. Each of the set of one or more thumbnails represents a portion of the media file. An input is received from a user indicating a desire to view a portion of the media file represented by one of the set of one or more thumbnails on the display. Playback of the media file is resumed at the portion of the media file represented by one of the set of one or more thumbnails on the display. The input from the user indicating a desire to view a portion of the media file comprises using scroll gestures on the set of one or more thumbnails to display a desired portion of the media file. The input can be made using a touch-sensitive device. The touch-sensitive device can be a touchscreen display.

TECHNICAL FIELD

This disclosure relates generally to media playback, and relates more particularly to video playback on touchscreen devices.

BACKGROUND

More and more consumers are consuming media, including video content (e.g., movies and TV shows) using mobile devices or other devices that feature a touchscreen interface. Often times, consumers wish to advance through media content. Current methods of advancing through media content might not allow fine enough control of the media content.

For simplicity and clarity of illustration, the drawing figures illustrate the general manner of construction, and descriptions and details of well-known features and techniques might be omitted to avoid unnecessarily obscuring the present disclosure. Additionally, elements in the drawing figures are not necessarily drawn to scale. For example, the dimensions of some of the elements in the figures might be exaggerated relative to other elements to help improve understanding of embodiments of the present disclosure. The same reference numerals in different figures denote the same elements.

DESCRIPTION OF EXAMPLES OF EMBODIMENTS

Some embodiments include a system. The system can comprise: a touch sensitive display device; one or more processing modules; and one or more non-transitory storage modules storing computing instructions configured to run on the one or more processing modules and perform the acts of: initiating playback of a media file on a touchscreen display; receiving an instruction to enter a navigation mode; displaying a set of one or more thumbnails on the display wherein each of the set of one or more thumbnails represents a portion of the media file; receiving an input from a user indicating a desire to view a portion of the media file represented by one of the set of one or more thumbnails on the display; and resuming playback of the media file on the display at the portion of the media file represented by one of the set of one or more thumbnails on the display; wherein the input from the user indicating a desire to view a portion of the media file comprises using scroll gestures on the set of one or more thumbnails to display a desired portion of the media file.

Some embodiments include a method. The method can comprise: initiating playback of a media file on a display; receiving an instruction to enter a navigation mode; displaying a set of one or more thumbnails on the display wherein each of the set of one or more thumbnails represents a portion of the media file; receiving an input from a user indicating a desire to view a portion of the media file represented by one of the set of one or more thumbnails on the display; and resuming playback of the media file on the display at the portion of the media file represented by one of the set of one or more thumbnails on the display; wherein the input from the user indicating the desire to view the portion of the media file comprises using scroll gestures on the set of one or more thumbnails to display a desired portion of the media file; and the input from the user is received from a touch-sensitive device.

Some embodiments include a method. The method can comprise: initiating playback of a media file on a display; receiving an instruction to enter a navigation mode; displaying a set of one or more thumbnails on the display wherein each of the set of one or more thumbnails represents a portion of the media file; receiving an input from a user indicating a desire to view a portion of the media file represented by one of the set of one or more thumbnails on the display; and resuming playback of the media file on the display at the portion of the media file represented by one of the set of one or more thumbnails on the display; wherein the input from the user indicating a desire to view a portion of the media file comprises using scroll gestures on the set of one or more thumbnails to display a desired portion of the media file; and further wherein the input from the user is received from a touch-sensitive device.

Turning to the drawings,FIG. 1illustrates an exemplary embodiment of a computer system100, all of which or a portion of which can be suitable for (i) implementing part or all of one or more embodiments of the techniques, methods, and systems and/or (ii) implementing and/or operating part or all of one or more embodiments of the memory storage modules described herein. As an example, a different or separate one of a chassis102(and its internal components) can be suitable for implementing part or all of one or more embodiments of the techniques, methods, and/or systems described herein. Furthermore, one or more elements of computer system100(e.g., a monitor106, a keyboard104, and/or a mouse110, etc.) also can be appropriate for implementing part or all of one or more embodiments of the techniques, methods, and/or systems described herein. Computer system100can comprise chassis102containing one or more circuit boards (not shown), a Universal Serial Bus (USB) port112, a Compact Disc Read-Only Memory (CD-ROM) and/or Digital Video Disc (DVD) drive116, and a drive114. Drive114can be a hard drive that uses spinning magnetic disks to store data or it can be a solid state drive (SSD) that uses a fast, non-volatile memory for storage. A representative block diagram of the elements included on the circuit boards inside chassis102is shown inFIG. 2. A central processing unit (CPU)210inFIG. 2is coupled to a system bus214inFIG. 2. In various embodiments, the architecture of CPU210can be compliant with any of a variety of commercially distributed architecture families.

Continuing withFIG. 2, system bus214also is coupled to a memory storage unit208, where memory storage unit208can comprise (i) non-volatile memory, such as, for example, read only memory (ROM) and/or (ii) volatile memory, such as, for example, random access memory (RAM). The non-volatile memory can be removable and/or non-removable non-volatile memory. Meanwhile, RAM can include dynamic RAM (DRAM), static RAM (SRAM), etc. Further, ROM can include mask-programmed ROM, programmable ROM (PROM), one-time programmable ROM (OTP), erasable programmable read-only memory (EPROM), electrically erasable programmable ROM (EEPROM) (e.g., electrically alterable ROM (EAROM) and/or flash memory), etc. The memory storage module(s) of the various embodiments disclosed herein can comprise memory storage unit208, an external memory storage drive (not shown), such as, for example, a USB-equipped electronic memory storage drive coupled to universal serial bus (USB) port112(FIGS. 1-2), hard drive114(FIGS. 1-2), CD-ROM and/or DVD drive116(FIGS. 1-2), a floppy disk drive (not shown), an optical disc (not shown), a magneto-optical disc (now shown), magnetic tape (not shown), etc. Further, non-volatile or non-transitory memory storage module(s) refer to the portions of the memory storage module(s) that are non-volatile memory.

In various examples, portions of the memory storage module(s) of the various embodiments disclosed herein (e.g., portions of the non-volatile memory storage module(s)) can be encoded with a boot code sequence suitable for restoring computer system100(FIG. 1) to a functional state after a system reset. In addition, portions of the memory storage module(s) of the various embodiments disclosed herein (e.g., portions of the non-volatile memory storage module(s)) can comprise microcode such as a Basic Input-Output System (BIOS) operable with computer system100(FIG. 1). In the same or different examples, portions of the memory storage module(s) of the various embodiments disclosed herein (e.g., portions of the non-volatile memory storage module(s)) can comprise an operating system, which can be a software program that manages the hardware and software resources of a computer and/or a computer network. The BIOS can initialize and test components of computer system100(FIG. 1) and load the operating system. Meanwhile, the operating system can perform basic tasks such as, for example, controlling and allocating memory, prioritizing the processing of instructions, controlling input and output devices, facilitating networking, and managing files. Exemplary operating systems can comprise one of the following: (i) Microsoft® Windows® operating system (OS) by Microsoft Corp. of Redmond, Wash., United States of America, (ii) Mac® OS X by Apple Inc. of Cupertino, Calif., United States of America, (iii) UNIX® OS, and (iv) Linux® OS. Further exemplary operating systems can comprise one of the following: (i) the iOS® operating system by Apple Inc. of Cupertino, Calif., United States of America, (ii) the Blackberry® operating system by Research In Motion (RIM) of Waterloo, Ontario, Canada, (iii) the WebOS operating system by LG Electronics of Seoul, South Korea, (iv) the Android™ operating system developed by Google, of Mountain View, Calif., United States of America, (v) the Windows Mobile™ operating system by Microsoft Corp. of Redmond, Wash., United States of America, or (vi) the Symbian™ operating system by Accenture PLC of Dublin, Ireland.

In the depicted embodiment ofFIG. 2, various I/O devices such as a disk controller204, a graphics adapter224, a video controller202, a keyboard adapter226, a mouse adapter206, a network adapter220, and other I/O devices222can be coupled to system bus214. Keyboard adapter226and mouse adapter206are coupled to keyboard104(FIGS. 1-2) and mouse110(FIGS. 1-2), respectively, of computer system100(FIG. 1). While graphics adapter224and video controller202are indicated as distinct units inFIG. 2, video controller202can be integrated into graphics adapter224, or vice versa in other embodiments. Video controller202is suitable for monitor106(FIGS. 1-2) to display images on a screen108(FIG. 1) of computer system100(FIG. 1). Disk controller204can control hard drive114(FIGS. 1-2), USB port112(FIGS. 1-2), and CD-ROM drive116(FIGS. 1-2). In other embodiments, distinct units can be used to control each of these devices separately.

Network adapter220can be suitable to connect computer system100(FIG. 1) to a computer network by wired communication (e.g., a wired network adapter) and/or wireless communication (e.g., a wireless network adapter). In some embodiments, network adapter220can be plugged or coupled to an expansion port (not shown) in computer system100(FIG. 1). In other embodiments, network adapter220can be built into computer system100(FIG. 1). For example, network adapter220can be built into computer system100(FIG. 1) by being integrated into the motherboard chipset (not shown), or implemented via one or more dedicated communication chips (not shown), connected through a PCI (peripheral component interconnector) or a PCI express bus of computer system100(FIG. 1) or USB port112(FIG. 1).

Returning now toFIG. 1, although many other components of computer system100are not shown, such components and their interconnection are well known to those of ordinary skill in the art. Accordingly, further details concerning the construction and composition of computer system100and the circuit boards inside chassis102are not discussed herein.

Meanwhile, when computer system100is running, program instructions (e.g., computer instructions) stored on one or more of the memory storage module(s) of the various embodiments disclosed herein can be executed by CPU210(FIG. 2). At least a portion of the program instructions, stored on these devices, can be suitable for carrying out at least part of the techniques and methods described herein.

Skipping ahead now in the drawings,FIG. 3illustrates a representative block diagram of a system300, according to an embodiment. System300is merely exemplary and embodiments of the system are not limited to the embodiments presented herein. System300can be employed in many different embodiments or examples not specifically depicted or described herein. In some embodiments, certain elements or modules of system300can perform various methods and/or activities of those methods. In these or other embodiments, the methods and/or the activities of the methods can be performed by other suitable elements or modules of system300.

As further described in greater detail below, in these or other embodiments, system300can proactively (e.g., prospectively) and/or reactively (e.g., responsively) determine and/or communicate the consumer product information to the consumer, as desired. Proactive acts can refer to acts (e.g., identification, determination, communication, etc.) performed without consideration of one or more predetermined acts performed by the consumer; and reactive acts can refer to acts (e.g., identification, determination, communication, etc.) performed with consideration of (i.e., in response to) one or more predetermined acts performed by the consumer. For example, in some embodiments, the predetermined act(s) can comprise an act of identifying a selection of a consumer product by the consumer.

Meanwhile, as also described in greater detail below, system300can be implemented in brick-and-mortar commerce and/or electronic commerce applications, as desirable. Further, in many of these or other embodiments, system300can communicate the consumer product information to the consumer substantially in real-time (e.g., near real-time). Near real-time can mean real-time less a time delay for processing (e.g., determining) and/or transmitting the relevant consumer product information to the relevant consumer. The particular time delay can vary depending on the type and/or amount of the consumer product information, the processing speed(s) of the processing module(s) of system300, the transmission capability of the communication hardware (as introduced below), the transmission distance, etc. However, in many embodiments, the time delay can be less than approximately one, five, ten, or twenty minutes.

Specifically, system300comprises a central computer system301. In many embodiments, central computer system301can be similar or identical to computer system100(FIG. 1). Accordingly, central computer system301can comprise one or more processing modules and one or more memory storage modules (e.g., one or more non-transitory memory storage modules). In these or other embodiments, the processing module(s) and/or the memory storage module(s) can be similar or identical to the processing module(s) and/or memory storage module(s) (e.g., non-transitory memory storage modules) described above with respect to computer system100(FIG. 1). In some embodiments, central computer system301can comprise a single computer or server, but in many embodiments, central computer system301comprises a cluster or collection of computers or servers and/or a cloud of computers or servers. Meanwhile, central computer system301can comprise one or more input devices (e.g., one or more keyboards, one or more keypads, one or more pointing devices such as a computer mouse or computer mice, one or more touchscreen displays, etc.), and/or can comprise one or more display devices (e.g., one or more monitors, one or more touchscreen displays, etc.). In these or other embodiments, one or more of the input device(s) can be similar or identical to keyboard104(FIG. 1) and/or a mouse110(FIG. 1). Further, one or more of the display device(s) can be similar or identical to monitor106(FIG. 1) and/or screen108(FIG. 1). The input device(s) and the display device(s) can be coupled to the processing module(s) and/or the memory storage module(s) of central computer system301in a wired manner and/or a wireless manner, and the coupling can be direct and/or indirect, as well as locally and/or remotely. As an example of an indirect manner (which may or may not be a remote manner, as well), a keyboard-video-mouse (KVM) switch can be used to couple the input device(s) and the display device(s) to the processing module(s) and/or the memory storage module(s). In some embodiments, the KVM switch also can be part of central computer system301. In a similar manner, the processing module(s) and the memory storage module(s) can be local and/or remote to each other.

In many embodiments, central computer system301is configured to communicate with one or more consumer computer systems302(e.g., a consumer computer system303) of one or more consumers. For example, the consumer(s) can interface (e.g., interact) with central computer system301, and vice versa, via consumer computer system(s)302(e.g., consumer computer system303). Accordingly, in many embodiments, central computer system301can refer to a back end of system300operated by an operator and/or administrator of system300, and consumer computer system(s)302can refer to a front end of system300used by one or more users of system300(i.e., the consumer(s)). In these or other embodiments, the operator and/or administrator of system300can manage central computer system301, the processing module(s) of computer system301, and/or the memory storage module(s) of computer system301using the input device(s) and/or display device(s) of central computer system301. In some embodiments, system300can comprise consumer computer system(s)302(e.g., consumer computer system303).

Like central computer system301, each of consumer computer system(s)302can be similar or identical to computer system100(FIG. 1), and in many embodiments, each of consumer computer system(s)302can be similar or identical to each other. In many embodiments, consumer computer system(s)302can comprise one or more desktop computer devices, one or more wearable user computer devices, and/or one or more mobile devices, etc. At least part of central computer system301can be located remotely from consumer computer system(s)302.

In some embodiments, a mobile device can refer to a portable electronic device (e.g., an electronic device easily conveyable by hand by a person of average size) with the capability to present audio and/or visual data (e.g., images, videos, music, etc.). For example, a mobile device can comprise at least one of a digital media player, a cellular telephone (e.g., a smartphone), a personal digital assistant, a handheld digital computer device (e.g., a tablet personal computer device), a laptop computer device (e.g., a notebook computer device, a netbook computer device), a wearable user computer device, or another portable computer device with the capability to present audio and/or visual data (e.g., images, videos, music, etc.). Thus, in many examples, a mobile device can comprise a volume and/or weight sufficiently small as to permit the mobile device to be easily conveyable by hand. For examples, in some embodiments, a mobile device can occupy a volume of less than or equal to approximately 189 cubic centimeters, 244 cubic centimeters, 1790 cubic centimeters, 2434 cubic centimeters, 2876 cubic centimeters, 4056 cubic centimeters, and/or 5752 cubic centimeters. Further, in these embodiments, a mobile device can weigh less than or equal to 3.24 Newtons, 4.35 Newtons, 15.6 Newtons, 17.8 Newtons, 22.3 Newtons, 31.2 Newtons, and/or 44.5 Newtons.

Exemplary mobile devices can comprise, but are not limited to, one of the following: (i) an iPod®, iPhone®, iPod Touch®, iPad®, MacBook® or similar product by Apple Inc. of Cupertino, Calif., United States of America, (ii) a Blackberry® or similar product by Research in Motion (RIM) of Waterloo, Ontario, Canada, (iii) a Lumia®, Surface Pro™, or similar product by the Microsoft Corporation of Redmond, Wash., United States of America, and/or (iv) a Galaxy™, Galaxy Tab™, Note™, or similar product by the Samsung Group of Samsung Town, Seoul, South Korea. Further, in the same or different embodiments, a mobile device can comprise an electronic device configured to implement one or more of (i) the iOS™ operating system by Apple Inc. of Cupertino, Calif., United States of America, (ii) the Blackberry® operating system by Research In Motion (RIM) of Waterloo, Ontario, Canada, (iii) the Palm® operating system by Palm, Inc. of Sunnyvale, Calif., United States, (iv) the Android™ operating system developed by Google, Inc. of Mountain View, Calif., United States, (v) the Windows Mobile™, Windows Phone™, and Windows 10 (mobile)™ operating systems by Microsoft Corporation of Redmond, Wash., United States of America, or (vi) the Symbian™ operating system by Nokia Corp. of Keilaniemi, Espoo, Finland.

In further embodiments, central computer system301can be configured to communicate with software (e.g., one or more web browsers, one or more mobile software applications, etc.) of the consumer computer system(s)302(e.g., consumer computer system303). For example, the software can run on one or more processing modules and can be stored on one or more memory storage modules (e.g., one or more non-transitory memory storage modules) of the consumer computer system(s)302(e.g., consumer computer system303). In these or other embodiments, the processing module(s) of the consumer computer system(s)302(e.g., consumer computer system303) can be similar or identical to the processing module(s) described above with respect to computer system100(FIG. 1). Further, the memory storage module(s) (e.g., non-transitory memory storage modules) of the consumer computer system(s)302(e.g., consumer computer system303) can be similar or identical to the memory storage module(s) (e.g., non-transitory memory storage module(s)) described above with respect to computer system100(FIG. 1). Exemplary web browsers can include (i) Firefox® by the Mozilla Organization of Mountain View, Calif., United States of America, (ii) Internet Explorer® by the Microsoft Corp. of Redmond, Wash., United States of America, (iii) Chrome™ by Google Inc. of Menlo Park, Calif., United States of America, (iv) Opera® by Opera Software of Oslo, Norway, and (v) Safari® by Apple Inc. of Cupertino, Calif., United States of America.

Meanwhile, in many embodiments, central computer system301also can be configured to communicate with one or more databases312. The database can comprise a product database that contains information about products sold by a retailer. Database(s)312can be stored on one or more memory storage modules (e.g., non-transitory memory storage module(s)), which can be similar or identical to the one or more memory storage module(s) (e.g., non-transitory memory storage module(s)) described above with respect to computer system100(FIG. 1). Also, in some embodiments, for any particular database of database(s)312, that particular database can be stored on a single memory storage module of the memory storage module(s) and/or the non-transitory memory storage module(s) storing database(s)312or it can be spread across multiple of the memory storage module(s) and/or non-transitory memory storage module(s) storing database(s)312, depending on the size of the particular database and/or the storage capacity of the memory storage module(s) and/or non-transitory memory storage module(s).

In these or other embodiments, the memory storage module(s) of central computer system300can comprise some or all of the memory storage module(s) storing database(s)312. In further embodiments, some of the memory storage module(s) storing database(s)312can be part of consumer computer systems302and/or one or more third-party computer systems (i.e., other than central computer system301and consumer computer systems302), and in still further embodiments, all of the memory storage module(s) storing database(s)312can be part of consumer computer systems302and/or the third-party computer system(s). Like central computer system301and consumer computer system(s)302, when applicable, each of the third-party computer system(s) can be similar or identical to computer system100(FIG. 1). Notably, the third-party computer systems are omitted from the drawings to better illustrate that database(s)312can be stored at memory storage module(s) of central computer system301, consumer computer system(s)302, and/or the third-party computer systems, depending on the manner in which system300is implemented.

For convenience, the functionality of system300is described herein as it relates particularly to consumer computer system303and a single consumer, but in many embodiments, the functionality of system300can be extended to each of consumer computer system(s)302and/or to multiple consumers. In these extended examples, in some embodiments, single consumers can interface (e.g., interact) with central computer system301using multiple consumer computer systems of consumer computer system(s)302(e.g., at different times). For example, a consumer could interface with central computer system301via a first consumer computer system (e.g., a desktop computer), such as, for example, when interfacing with central computer system301from home, and via a second consumer computer system (e.g., a mobile device), such as, for example, when interfacing with central computer system301away from home.

Recent advancements in computer technology have made the consumption of media, including audio and video, on mobile devices more and more common. Previously, one had to use optical media such as DVD and Blu-ray discs in order to view media files. However, improved download speeds and the proliferation of mobile devices has made the consumption of media on mobile devices (that cannot read optical media) increasingly more common.

One thing that many mobile devices have in common is the use of a touchscreen interface, also known as a touch-sensitive display. On such a touchscreen interface, instead of a user using a remote control, keyboard, mouse, or other type of interface, the user directly touches the screen upon which the media file is being displayed. The touchscreen has a variety of mechanisms by which it can detect a touch, either by a stylus or a finger. Exemplary touchscreen technologies include resistive touchscreens, capacitive touchscreens, optical imaging, and the like, though embodiments are not limited to any specific touchscreen technology. Some embodiments also can use other touch-sensitive devices, such as a touchpad.

Often, when a user is viewing a media file, the user might want to advance through the media file or go backwards through the media file. There can be many reasons to do so. For example, the user might want to view a particular scene again, or the user might want to skip one part of a media file that he has already viewed or is otherwise not interested in to access a later or earlier part of the media file.

Optical disc based media often make use of buttons to advance through a media file. An optical disc-based player is typically controlled via buttons on the front of the player or a remote control that has a variety of buttons. A typical remote control had various sets of buttons, including chapter back and skip; fast forward; and fast reverse. However, such controls might not be appropriate for media files viewed using a mobile device. For example, going backward and forward using those types of keys were relatively slow and/or might not be precise enough for some users. In addition, while disc-based media often uses chapter markers, streaming media and other media accessible using mobile devices might not use chapter markers, making chapter forward and chapter skip controls inoperable.

Computer-based media often uses other methods of allowing users to quickly find a portion of a media file. On-line services such as Youtube and Vimeo as well as media players such as VLC, Windows Media Player, Quicktime, and the like often use an interface that contains a slider.

With reference toFIG. 4A, a screen shot400containing an exemplary interface of the prior art is illustrated. As an example, screen shot400can be shown on a screen of monitor106(FIG. 1).

Window410is used to display the media content. Also present in screen shot400are transport controls415and slider420. Transport controls415allow a user to start, stop, and pause a media file. Other transport controls (such as fast forward and fast reverse) also might be present. Other controls also can be present, but are not illustrated inFIG. 4A, such as window sizing controls, volume controls, and the like. There also can be status displays, such as elapsed time, time remaining, and the like.

Slider420serves two main purposes. First, slider420provides a visual indication of where in the media file the user is at. In a 10-minute media file, when the user is at the 5-minute mark of the media file, an indicator422on slider420will be at approximately the half-way point of slider420. Indicator422can take a variety of different forms. For example, indicator422can be a shape (such as a diamond, square, circle) or indicator422can be a bar graph. Indicator422can take other forms as well. Slider420also allows a user to advance a media file to a specific point of a media file. For example, a user might want to advance to a point that is approximately 6 minutes into a 10-minute media file. The user would move indicator422within slider420until 6 minutes is displayed in the status area.

One disadvantage of the use of such a slider is that the user might not know where exactly he wants to advance the media file. It is rare that a user knows, for example, that a particular scene starts at exactly 6 minutes and 17 seconds into a media file. The user might simply want to advance past the opening credits of a movie, for example, and not know when the credits end. Or the user might want to view a scene or listen to a song again and might not know exactly when the scene started.

To alleviate such a problem, some media players have shown thumbnails on the screen. For example, when a user clicks on indicator422within slider420, some media players show a thumbnail above indicator422. Such an embodiment is shown inFIG. 4B. Window410, transport controls415, slider420, and indicator422inFIG. 4Bare similar to that shown inFIG. 4A. When a user touched or clicked on indicator422or slider420, a thumbnail450might be displayed above indicator422or slider420. Thumbnail450displays the content of the media file at the specific time indicated by the position of slider420. The presence of thumbnail450can allow a user to more reliably find a particular scene that the user wants to view. For example, a user might want to watch a scene of a movie featuring two specific actors doing a particular scene. The user would then move indicator422within slider420until thumbnail450showed the scene the user is interested in viewing.

There are several limitations of such a methodology. For example, the rate of change of moving through a media file might not be precise. In many players, the size of slider420is a fixed length on screen, relative to the size of window410, no matter the length of the media file. Navigating through a 5 minute media file using slider420might be relatively easy because a user can easily move slider420to an exact second. But navigating through a 3-hour movie is more difficult because slider420has a lower resolution—a small movement of the slider can result in a large movement through a media file.

A solution to the above and other problems is presented below. When using a device with a touchscreen interface, such as a mobile device, including a tablet, a smartphone, a laptop computer, and the like, a user is able to use gestures to bring up specific facets of an interface. One of the gestures can pause the media file and bring up a large series of thumbnails, each showing the media file at a specific instance in time. From this screen, swiping to the left and to the right can move through the media file. Also on this screen can be an indication of how far ahead each thumbnail is. Other gestures can change the amount of movement per gesture.

With reference toFIG. 5, a screenshot500containing an exemplary interface is illustrated.FIG. 5is merely exemplary and embodiments of the screen representation and menu system are not limited to the embodiments presented herein. The screen representation and menu system can be employed in many different embodiments or examples not specifically depicted or described herein. As an example, screen shot500can be shown on a screen108(FIG. 1) of monitor106(FIG. 1).

Window510is used to display media content. The media content is displayed in any manner now known in the art or developed in the future. For example, the media content is often compressed into a media file using a known technique (such as advanced audio coding (AAC), H.264, Moving Picture Experts Group (MPEG), MPEG-2 layer 3 (MP3), MPEG-2, MPEG-4, and the like). An application in the mobile device reads the media file from a long-term memory, such as drive114ofFIG. 1, into temporary memory, such as memory storage208ofFIG. 2. Thereafter, the media file can be decompressed by a processor, such as CPU210ofFIG. 2, and the resulting content displayed on a display, such as display108. It should be understood that a mobile device can take a tablet form and such components can be contained in a single device, such as a tablet or a smartphone.

After the user activates the transport mode, the playback of the media file is paused and a series of thumbnails520are shown. The transport mode can be activated in one of a variety of different manners. In some embodiments, the transport mode can be activated by tapping the screen. In some embodiments, the transport mode can be activated by touching the screen in a specific place of the display. In some embodiments, the transport mode can be activated using a specific multi-touch command, where the user uses multiple fingers to activate a transport mode. In such embodiments, the use of a transport mode lessens the need for transport controls415ofFIG. 4A. Illustrated inFIG. 5is a set of three thumbnails. It should be understood that a different number of thumbnails can also be shown by changing the size of the thumbnail. In some embodiments, the size of the thumbnails520can be adjusted by a user (either dynamically or through the use of a setting menu.) In an embodiment using dynamic sizing, a user can enter a sizing mode to resize thumbnails520using a variety of techniques, such as “pinching” by moving two fingers towards each other to make thumbnails520smaller or “zooming” by moving two fingers away from each other to make thumbnails520larger.

Thumbnails520can have a fixed aspect ratio (the ratio of the width of the frame to the height of the frame) that is the same for all media files (for example 16:9 is a commonly used aspect ratio in some mobile devices). In some embodiments, the aspect ratio of thumbnails520can vary depending on the aspect ratio of the media file (e.g., some videos might be 4:3, others might be 2.39:1 or some other aspect ratio).

Also shown inFIG. 5are time indicators530. After the user enters the transport mode, time indicators530are used to show the user how far in advance (or reverse) the particular thumbnail is. Each thumbnail in the set of thumbnails is at a time difference T from the next thumbnail in the set of thumbnails. In the embodiment shown inFIG. 5, T is 5 seconds, such that each thumbnail is 5 seconds ahead in time from the previous thumbnail, so the frames shown are +5 seconds, +10 seconds, and +15 seconds ahead of the paused frame. Other time values also can be used. In some embodiments, thumbnails can be 1 second apart. In some embodiments, the time difference T between thumbnails can be changed by the user. For example, a user can change the time difference through the use of gestures. A user might swipe up from a lower portion of the screen to an upper portion of the screen to make the time difference T between thumbnails greater or swipe down from an upper portion of the screen to a lower portion of the screen to make the time difference T between thumbnails smaller. In such a manner, the user can Skip ahead 30 seconds at a time, a minute at a time, two minutes at a time, or even more.

When the thumbnails are displayed, the user is able to swipe to the left or to the right. For example, as shown inFIG. 5, the thumbnails are at 5 seconds, 10 seconds, and 15 seconds after the current screen. By making a right to left swiping motion on the screen, the thumbnails being shown can be at 20 seconds, 25 seconds, and 30 seconds after the current screen. Similarly, by making a left to right swiping motion on the screen, the thumbnails being shown can be at 15 seconds, 10 seconds, and 5 seconds before the current screen. A user can skip many frames by making the motion to the left or to the right fast, resulting in a large skip forward and back. Thereafter, the user can resume playback by exiting the transport mode. In some embodiments, a user can exit the transport mode by tapping on the screen. In some embodiments, the user taps on the screen on a particular thumbnail to exit transport mode at the particular time illustrated by the thumbnail. For example, if the user taps on the +15 second thumbnail, playback resumes 15 seconds further from when the user was previously watching the content. In some embodiments, there might be a specific area of the screen set aside to allow the user to leave the transport mode.

A flowchart illustrating the operation of a touchscreen media transportation method600is presented inFIG. 6. Method600is merely exemplary and is not limited to the embodiments presented herein. Method600can be employed in many different embodiments or examples not specifically depicted or described herein. In some embodiments, the procedures, the processes and/or the activities of method400can be performed in the order presented. In other embodiments, the procedures, the processes, and/or the activities of method600can be performed in any other suitable order. In still other embodiments, one or more of the procedures, the processes, and/or the activities of method600can be combined or skipped. In some embodiments, portions of method600can be implemented by computer system100(FIG. 1).

A mobile device receives instructions from a user to initiate the playback of a media file (block602). This can be done in a variety of different manners. For example, there can be a list of available media files to play that is displayed to the user. A user selects a media file (often by tapping a thumbnail or a title of the media file). The mobile device begins playback of the media file (block604). The mobile device receives an instruction to enter into a navigation mode (block606). As described above, the navigation mode can be entered into in a variety of different manners. In some embodiments, the navigation mode can be initiated by a user tapping on the screen. In some embodiments, the navigation mode can be initiated by a user tapping on the screen in a specific area of the screen.

When the mobile device receives such an input, the navigation mode is activated. Once the navigation mode is activated, a set of thumbnails is displayed on the mobile device (block608). Each thumbnail in the set of thumbnails represents a point in time of the media file. As described above, one thumbnail can be a frame that is 5 seconds further in time from the present frame, the next thumbnail can be a frame that is 10 seconds further in time from the present frame and so on. In one embodiment, each of the thumbnails in the set of thumbnails are approximately one-half the height of the main display (as illustrated as thumbnails520fromFIG. 5). As discussed above, the thumbnails can be re-sized in a variety of different manners. As the size of the thumbnails gets smaller, more thumbnails might be displayed. As the size of the thumbnails gets larger, fewer thumbnails might be displayed.

Along with the thumbnails, time indicators (such as time indicators530fromFIG. 5) are also shown. The manner in which the thumbnails can be displayed are varied. One of a variety of different techniques that currently exist in the art or techniques that are developed in the future can be used to display the thumbnails. In some embodiments, thumbnails are embedded in the media file being displayed. In such an embodiment, the thumbnails can be accessed and displayed using common thumbnail display techniques.

Returning toFIG. 6, inputs are received on the mobile device for navigation purposes (block610). A variety of different inputs can be used for navigation purposes. A swipe from right to the left can be used to navigate forward in the media file. A swipe from left to the right can be used to navigate to previous times in the media file. A swipe from the bottom of the display towards the top can increase the amount of movement by the swipes. A swipe from the top of the display towards the bottom can decrease the amount of movement by the swipes. In some embodiments, the default amount of time between screenshots is one second. In some embodiments, the default amount of time between screenshots is dependent on the encoding of the media file (such that longer media files might have a longer amount of time between screenshots). The instructions received are translated into visual movement of the thumbnails.

Once the user has found the desired location that where he wants playback to resume, the user sends an input indicating a desire to end the navigation mode (block612). In some embodiments, tapping on the screen can indicate a desire to end the navigation mode. In some embodiments, a double tap on the screen can be used as such an input. In some embodiments, there might be a specific area of the screen that a user accesses to end navigation mode. In some embodiments, there can be a physical button on the mobile device that can be accessed to end the navigation mode. In some embodiments, there can be other methods used by a user to indicate a desire to end the navigation mode.

Once an embodiment receives the indication of a desire to end the navigation mode, playback is resumed at the portion of the media file indicated by the user (block614). This process of resuming playback at a certain time can use a variety of techniques now known or developed in the future. For example, once it is known that a user wants to view a media file starting at 50 minutes and 32 seconds, the portion of the media file starting at that point can be requested by a server. Thereafter, the portion of the media file corresponding to 50:32 is downloaded to the mobile device, and playback can be initiated. If the portion of the media file corresponding to 50:32 is already in the memory of the mobile device, that portion is retrieved from the memory, and playback is resumed as soon as the requested portion is retrieved. In addition, any visual indications of the current position in the file are updated. For example, if there is text indicating the minute and second of the media file being played, that text is updated, as well. If there is a visual indication of position such as an indicator and/or slider, that indication is updated with the new position, too.

Turning ahead in the figures,FIG. 7illustrates a block diagram of a system700that is capable of performing disclosed embodiments. System700is merely exemplary and is not limited to the embodiments presented herein. System700can be employed in many different embodiments or examples not specifically depicted or described herein. In some embodiments, certain elements or modules of system700can perform various procedures, processes, and/or acts. In other embodiments, the procedures, processes, and/or acts can be performed by other suitable elements or modules.

In a number of embodiments, system700can include playback instruction receiving module702. In certain embodiments, playback instruction receiving module702can perform block602(FIG. 6) of receiving instructions to initiate playback of a media file.

In a number of embodiments, system700can include playback initiation module704. In certain embodiments, playback initiation module704can perform block604(FIG. 6) of initiating playback of a media file.

System700can include navigation mode entrance module706. In certain embodiments, navigation mode entrance module706can perform block606(FIG. 6) of receiving instructions to enter a navigation mode.

System700can include thumbnail display module708. In certain embodiments, thumbnail display module708can perform block608(FIG. 6) of displaying thumbnails on the mobile device.

System700can include navigation module710. In certain embodiments, navigation module710can perform block610(FIG. 6) of receiving navigation inputs from the user.

System700can include navigation end module712. In certain embodiments, navigation end module712can perform block612(FIG. 6) of receiving an input indicating a desire to end navigation mode.

The above embodiments have been described with reference to media file playback on a touchscreen device. It will be understood by those skilled in the art that various changes can be made without departing from the spirit or scope of the disclosure. For example, the media file can include audio only, video only, or a combination of audio and video. In addition, embodiments can be performed on devices that do not have a touchscreen interface. For example, a mouse, trackpad, touchpad, trackball, remote control, or various other interface devices also be used.

Although the above embodiments have been described with reference to specific embodiments, it will be understood by those skilled in the art that various changes can be made without departing from the spirit or scope of the disclosure. Accordingly, the disclosure of embodiments is intended to be illustrative of the scope of the disclosure and is not intended to be limiting. It is intended that the scope of the disclosure shall be limited only to the extent required by the appended claims. For example, to one of ordinary skill in the art, it will be readily apparent that any element ofFIGS. 1-7can be modified, and that the foregoing discussion of certain of these embodiments does not necessarily represent a complete description of all possible embodiments. For example, one or more of the procedures, processes, or activities ofFIGS. 1-7can include different procedures, processes, and/or activities and be performed by many different modules, in many different orders.