U.S. patent application number 12/207308 was filed with the patent office on 2010-01-14 for multi-model modes of one device.
This patent application is currently assigned to Apple Inc.. Invention is credited to William Bull, Ben Rottler.
Application Number | 20100008650 12/207308 |
Document ID | / |
Family ID | 41505257 |
Filed Date | 2010-01-14 |
United States Patent
Application |
20100008650 |
Kind Code |
A1 |
Bull; William ; et
al. |
January 14, 2010 |
MULTI-MODEL MODES OF ONE DEVICE
Abstract
A portable media player may provide multi-modes for a user. Each
mode may define different features and content that are customized
for a particular mode. Based a selected mode, the media player may
provide access to only content, features, hardware, user interface
elements, and the like that the user wishes to have access to when
the mode is enabled. The media player may provide the user
different experiences, looks, and feels for each mode.
Inventors: |
Bull; William; (Mountain
View, CA) ; Rottler; Ben; (San Francisco,
CA) |
Correspondence
Address: |
TOWNSEND AND TOWNSEND AND CREW, LLP
TWO EMBARCADERO CENTER, 8TH FLOOR
SAN FRANCISCO
CA
94111-3834
US
|
Assignee: |
Apple Inc.
Cupertino
CA
|
Family ID: |
41505257 |
Appl. No.: |
12/207308 |
Filed: |
September 9, 2008 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61079578 |
Jul 10, 2008 |
|
|
|
Current U.S.
Class: |
386/200 ;
713/1 |
Current CPC
Class: |
H04N 21/4126 20130101;
H04N 21/41407 20130101; G06F 9/4411 20130101; H04N 21/4532
20130101; H04N 21/4858 20130101 |
Class at
Publication: |
386/124 ;
713/1 |
International
Class: |
H04N 7/26 20060101
H04N007/26; G06F 9/00 20060101 G06F009/00 |
Claims
1. A method performed by a media player for providing multiple
modes, the method comprising: receiving information specifying a
device mode in a plurality of device modes; determining information
for configuring functionality of the media player based on the
device mode; determining content based on the device mode to be
presented by the media player when the device mode is enabled; and
enabling the device mode.
2. The method of claim 1 wherein receiving information specifying
the device mode comprises receiving a mode definition file.
3. The method of claim 1 wherein determining information for
configuring functionality of the media player comprises:
determining a set of applications specific to the device mode;
determining one or more accessory devices for the device mode; and
determining a specification for a graphical user interface for the
device mode.
4. The method of claim 1 wherein determining the content comprises
determining the content based on selection criteria defined by the
device mode.
5. The method of claim 4 wherein the selection criteria identifies
a title, a lyric, an artist, an album, a concert, a writer, a
producer, a studio, a theme, a genre, a category, a size, a beat, a
time, or a date.
6. The method of claim 1 wherein determining the content further
comprises generating a playlist of the determined content.
7. The method of claim 1 wherein enabling the device mode
comprises: enabling access to the determined content; and disabling
access to other content.
8. The method of claim 1 wherein enabling the device mode
comprises: enabling access to a first set of applications of the
media player; and disabling access to a second set of applications
of the media player.
9. The method of claim 1 wherein enabling the device mode
comprises: determining graphical user interface elements and an
associated layout based on the device mode; and displaying the
graphical user interface elements according to the layout.
10. A portable media device comprising: a display; a storage
device; a media playback system; and a processor configured to:
receive information specifying a device mode associated with a user
activity; determine from the storage device content based on the
device mode to be presented by the media playback system when the
device mode is enabled; determine information for configuring the
display and the media playback system based on the device mode; and
configure to display and the media playback system to present the
determined content from the storage device.
11. The portable media device of claim 10 wherein the processor is
configured to determine the content in response to selection
criteria defined by the device mode.
12. The portable media device of claim 10 wherein the processor is
further configured to generate a playlist of the determine
content.
13. The portable media device of claim 10 further comprising: a
media library; wherein the processor is further configured to
enable access to the determine content and disable access to any
remaining content in the media library.
14. The portable media device of claim 10 wherein the processor
further is configured to configure the media playback system by
enabling access to a first set of applications and disabling access
to a second set of application.
15. The portable media device of claim 10 wherein the processor is
further configured to configure the display by determining a layout
of user interface elements and to generate a display of the user
interface elements according to the layout.
16. A computer-readable storage medium configured to store program
code for a media playback device, the computer-readable storage
medium comprising: code for receiving information specifying a
device mode in a plurality of device modes; code for determining
information for configuring functionality of the media player based
on the device mode; code for determining content based on the
device mode to be presented by the media player when the device
mode is enabled; and code for enabling the device mode.
17. A portable media playback device comprising: a display
configured to provide a graphical user interface allowing access to
a media playback application; a processor; and a memory coupled to
the processor, the memory configured to store program instructions
operational with the processor to: receive location information;
determine a set of functionality associated with the media playback
application based on a location identified by the location
information; modify presentation of the media playback application
based on the location; determine a subset of content from content
local to the portable media device based on the location; and
enable access using the determined set of functionality to the
subset of content using the modified presentation of the media
playback application.
18. The portable media playback device of claim 17 wherein program
instructions are operational with the processor to: determine the
location information based on an accessory device coupled to the
media playback device.
19. The portable media playback device of claim 18 wherein the
accessory device comprises a GPS device.
20. The portable media playback device of claim 18 wherein the
accessory device comprises a car audio accessory device.
21. The portable media playback device of claim 17 wherein program
instructions are operational with the processor to: determine the
location information based on usage of the content local to the
portable media device.
22. The portable media playback device of claim 17 wherein program
instructions are operational with the processor to: determine audio
playback functionality or video playback functionality as the
determined set of functionality.
23. The portable media playback device of claim 17 wherein program
instructions are operational with the processor to: receive input
indicating a switch to another set of functionality of the media
playback application; updating presentation of the media playback
application based on the input; determine a different subset of
content from content local to the portable media device based on
the input; disable access to the subset of content; and enable
access using the another set of functionality to the different
subset of content using the updated presentation of the media
playback application.
Description
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application claims priority to and the benefit of U.S.
Provisional Application No. 61/079,578, filed Jul. 10, 2008 and
entitled "Multi-Model Modes of One Device," the entire disclosure
of which is herein incorporated by reference for all purposes.
FIELD OF THE INVENTION
[0002] The present invention relates generally to electronic
devices. More particularly, to techniques for providing multiple
modes of one device.
BACKGROUND OF THE INVENTION
[0003] Electronic devices, such as portable media players, cellular
phones, personal digital assists (PDAs), and the like, are
prevalent in today's marketplace, as are the peripheral electronic
devices that support their use, such as docking stations and the
like. As competition in the personal electronics marketplace
becomes ever more heated, consumers have become more demanding in
terms of both the functionality and use of such devices.
[0004] Users listen to, watch, or otherwise receive and consume
content in a variety of contexts. For example, it is common to
listen to music while driving, riding public transit, exercising,
hiking, doing chores, or the like. Additionally, users now are more
often using media players to receive radio, television, and
satellite broadcasts, Global Positioning and other broadcast-based
location services for navigation and recreation in addition to the
playback of content stored on the media players.
[0005] Conventionally, a media player or portable media player can
be capable of playing media, such as audio (e.g., songs) or video
(e.g., movies) for the benefit of its user. When playing audio, if
the media player includes a display, the display can present the
name of the song, artist, and other information pertaining to the
song. In the case of playing a video, the display can be used to
present the video.
[0006] Typically, these media players are statically configure to
provide one mode of operation. For example, a typical media player
may present one consistent user interface and set of applications
to the user at all times. Moreover, even though the user can alter
the type of content played by a device, generally, the same content
will be available to the user irrespective of the activity of the
user.
[0007] Accordingly, what is desired are improved methods and
apparatus for solving the problems discussed above. Additionally,
what is desired are improved methods and apparatus for reducing
some of the drawbacks discussed above.
BRIEF SUMMARY OF THE INVENTION
[0008] In various embodiments, an electronic device, such as a
media player or portable media device, may automatically alter a
user's experience with the device. The electronic device may
include one or more modes, such as music playback mode or video
playback mode. Each mode can specify different applications,
features, options, settings, or the like that are available to the
user when the mode is enabled. Furthermore, each mode may specify
applications, features, options, settings, or the like that are
unavailable, disabled, or otherwise missing from a user interface
to provide a cleaner, more focused user experience. Each mode may
additionally specify the content that is available to the user when
the mode is available. Accordingly, a media playback device may be
automatically "reconfigured" when a particular mode is enabled to
provide a user with access settings, applications, content, etc.
relevant to a user's current activity, prior usage history,
location, or the like.
[0009] In some embodiments, an electronic device may include a
plurality of modes. Each mode may define or otherwise specify
applications, settings, options, features, functionalities, or the
like that may be enabled or disabled when the mode is active. The
mode may define which applications can be accessed through a
graphical user interface (GUI) by a user. The mode may further
specify how applications relevant to the mode may be displayed,
such as backgrounds, icons, style information, themes, or other
information that provides a visual indicator of the active mode. In
one embodiment, a mode may specify what hardware features may
enabled/disabled during the mode. In another embodiment, a mode may
also specify which accessories may be available/unavailable, and
further prompt the user to attach or remove a give accessory
device.
[0010] In further embodiments, a mode may define selection criteria
in the form of attributes or other features for selecting which
content or other media assets should be accessible or otherwise
made available when the mode is enabled. When mode is enabled that
is relevant to the user's current activity, usage history,
location, or the like, the electronic device provide simplified
access to content or other media assets that satisfy the selection
criteria. In one embodiment, a media playback device may
automatically generate playlists of content or other media assets
relevant to the enabled mode.
[0011] A further understanding of the nature and the advantages of
the inventions disclosed herein may be realized by reference of the
remaining portions of the specification and the attached
drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] In order to better describe and illustrate embodiments
and/or examples of any inventions presented within this disclosure,
reference may be made to one or more accompanying drawings. The
additional details or examples used to describe the accompanying
drawings should not be considered as limitations to the scope of
any of the disclosed inventions, any of the presently described
embodiments and/or examples, or the presently understood best mode
of any invention presented within this disclosure.
[0013] FIG. 1 is a block diagram of a media player that may
incorporate embodiments of the present invention;
[0014] FIG. 2 is a simplified flowchart of a method for configuring
a device based on a mode in one embodiment according to the present
invention;
[0015] FIGS. 3A and 3B are examples of a graphical user interface
that may be configured according to modes in one embodiment
according to the present invention;
[0016] FIGS. 4A and 4B are a flowchart of a method changing
functionality of a device based on a mode in one embodiment
according to the present invention;
[0017] FIG. 5 is a block diagram illustrating various attributes
and other criteria that may be used to generate a mode in one
embodiment according to the present invention;
[0018] FIG. 6 is a flowchart of a method for creating a mode in one
embodiment according to the present invention;
[0019] FIG. 7 is are a flowchart of an alternative method for
changing functionality of a device based on a mode in one
embodiment according to the present invention; and
[0020] FIG. 8 is a simplified block diagram of a computer system
that may incorporate embodiments of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
[0021] In various embodiments, an electronic device, such as a
media player or portable media device, may automatically alter a
user's experience with the device. The electronic device may
include one or more modes, such as music playback mode or video
playback mode. Each mode can specify different applications,
features, options, settings, or the like that are available to the
user when the mode is enabled. Furthermore, each mode may specify
applications, features, options, settings, or the like that are
unavailable, disabled, or otherwise missing from a user interface
to provide a cleaner, more focused user experience. Each mode may
additionally specify the content that is available to the user when
the mode is available. Accordingly, a media playback device may be
automatically "reconfigured" when a particular mode is enabled to
provide a user with access settings, applications, content, etc.
relevant to a user's current activity, prior usage history,
location, or the like.
[0022] In order to better understand one or more of the inventions
presented within this disclosure, aspects of at least one
environment within which various embodiments may operate will first
be described.
[0023] FIG. 1 is a block diagram of media player 100 that may
incorporate embodiments of the present invention. In general, a
media player stores content and/or media assets, such as audio
tracks, movies, or photos that can be played or displayed. One
example of media player 100 is the iPod.RTM. media player, which is
available from Apple, Inc. of Cupertino, Calif. Another example of
media player 100 is a personal computer, such as a laptop or
desktop.
[0024] In this example, media player 100 includes processor 110,
storage 120, user interface 130, and communications interface 140.
In general, processor 110 controls various functionalities
associated with media player 110. Media play 100 may output audio
content, video content, image content, and the like. Media player
100 may further output information associated with content, such as
track information and album art.
[0025] Typically, a user may load or store content using storage
120. Storage 120 may be any read-only memory (ROM), random access
memory (RAM), non-volatile memory, flash memory, floppy disk, hard
disk, and the like. A user may interact with user interface 130 of
media player 100 to view or consume content. Some examples of user
interface 130 are buttons, click wheels, touch pads, touch screens,
and other input/output devices.
[0026] Media player 100 typically includes one or more connectors
or ports, such as communications interface 140, that can be used to
load content, retrieve content, interact with applications running
on media player 100, interface with external devices, and the like.
Some examples of communications interface 140 are universal serial
bus (USB) interfaces, IEEE 1394 (or FireWire/iLink.RTM.)
interfaces, universal asynchronous receiver/transmitters (UARTs),
wired and wireless network interfaces, transceivers, and the
like.
[0027] In one example, a connector or port may enable media player
100 to output audio to a pair of speakers 150. In another example,
a connector or port may enable media player to output audio to a
pair of headphones 160. In yet another example, a connector or port
may enable media player 100 to interface with an accessory 170, a
host computer 180, or be inserted into a docking system 190.
[0028] Docking system 190 may further enable one or more accessory
devices 195 to interface with media player 100. There are today
many different types of accessory devices 170 and 195 that can
interconnect to media player 100. For example, an accessory may
allow a remote control to wirelessly control media player 100. As
another example, an automobile can include a connector and media
player 100 can be inserted onto the connector or dock such that an
automobile media system can interact with media player 100, thereby
allowing the media content on the media player to be played within
the automobile.
[0029] Often, media player 100 receives content or other media
assets from a host computer (e.g., host computer 160) that serves
to enable a user to manage media assets. As an example,
communications interface 130 allows media player 100 to interface
with host computer 160 that executes a media management application
to manage media assets that can be loaded onto media player 100.
One example of a media management application is iTunes.RTM.,
produced by Apple, Inc. of Cupertino, Calif. Media player 100 may
further be connected to private and public communications networks,
such as the Internet.
[0030] In various embodiments, media player 100 can provide
multiple modes of use to a user. Each mode may define or otherwise
specify applications, settings, options, features, functionalities,
or the like that may be enabled or disabled when the mode is
active. The mode may define which applications can be accessed
through a graphical user interface (GUI) by a user. The mode may
further specify how applications relevant to the mode may be
displayed, such as backgrounds, icons, style information, themes,
or other information that provides a visual indicator of the active
mode. In one embodiment, a mode may specify what hardware features
may enabled/disabled during the mode. In another embodiment, a mode
may also specify which accessories may be available/unavailable,
and further prompt the user to attach or remove a give accessory
device.
[0031] In further embodiments, a mode may define selection criteria
in the form of attributes or other features for selecting which
content or other media assets should be accessible or otherwise
made available when the mode is enabled. When mode is enabled that
is relevant to the user's current activity, usage history,
location, or the like, the electronic device provide simplified
access to content or other media assets that satisfy the selection
criteria. In one embodiment, a media playback device may
automatically generate playlists of content or other media assets
relevant to the enabled mode.
[0032] Accordingly, media player 100 may be automatically
configured or "reconfigured" for a mode that identifies what
content, functionalities, applications, user interface preferences,
or the like, may be available or unavailable to a user according to
the preferences or activities of a user. For example, a user of
media player 100 may have a workout mode, a relaxation mode, a
driving mode, a pre-party mode, and a party mode. Each mode may
define different features and content that are customized for the
mode. Each mode may specify criteria for selecting which content,
such as music or videos, should be made played or otherwise made
available when the mode is available. In the example of the workout
mode, a graphical user interface (GUI) may include a training or
workout application (e.g., NIKE+ functionality by Nike, Inc.) and
enable access to accessories and sensors tracked by the
application. The GUI may further only provide access to songs from
a user's content library that the user wishes to listen to while
working out. The GUI may also have a different look and feel for
the applications, icons, and the like.
[0033] FIG. 2 is a flowchart of method 200 for configuring media
player 100 based on a mode in one embodiment according to the
present invention. The processing depicted in FIG. 2 may be
performed by software modules (e.g., instructions or code) executed
by processor 110 of media player 100, by hardware modules of media
player 110, or combinations thereof with other computer systems.
FIG. 2 begins in step 210.
[0034] In step 220, one of a plurality of modes is selected. Each
mode in the plurality of modes may be related to a different
activity of a user. In another example, each mode may be related to
a sub-mode, for example, a different version of an audio or video
playback mode. In one example, a user may select the mode from a
plurality of modes displayed when media player 100 powers up. In
another example, a default mode (or last used mode) of the device
can be automatically selected. A user may also manually change
modes by selecting a mode from a list of modes displayed in a
configuration or settings menu associated with media player
100.
[0035] In some embodiments, the mode may be selected automatically.
For example, the mode may be automatically selected based on time,
date, location, usage history, user schedule, or occurrence of an
event. In yet another example, the mode may be selected based on
characteristics, attributes, or features of content or other media
assets, such as the type of content, the volume of the content, or
the like. In some embodiment, the mode may be selected based on
whether an accessory is present, biometric data of a user, or the
like.
[0036] In step 230, configuration information associated with the
selected mode is determined. The configuration information can
include any information for configuring a device. For example, the
configuration information may include information specifying how to
display a graphical user interface. The configuration information
may include information specifying how a user is able to interface
with elements of a graphical user interface or other user interface
elements, such as buttons, click wheels, touch screens, or the
like. The configuration information may further include information
specifying which applications are available during the selected
mode. The configuration information may also include information
specifying what content or other media assets are accessible during
the selected mode.
[0037] In step 240, the configuration of a device is set based on
the configuration information. For example, one or more settings or
preferences may be enabled or disabled. In another example, the
background, color, icons, themes, visual effects, or the like, of a
GUI may be enabled/disabled. In one embodiment, the user may be
prompted to attach a given accessory device or remove an attached
accessory device. Setting the configuration of the device may
include routing content or other media assets to an accessory
device. In yet another embodiment, a media library may be
configured to limit access to the library to a subset of content or
other media assets stored on a device.
[0038] In step 250, selection criteria is determined based on the
configuration information. Selection criteria can include any
rules, conditions, or other criteria for selecting content or other
media assets. In one example, the selection criteria may specify
one or more characteristics, attributes, qualities, identifiers, or
the like, to be matched to content or metadata associated with
content.
[0039] In step 260, a list of content is generated based on the
selection criteria. For example, selection criteria specifying a
genre of "Rock" may cause the generation of a list of songs tagged
with the "Rock" genre. In another example, a playlist of content
associated with a given artist may be generated for selection
criteria identifying the artist. In some embodiments, the selection
criteria may be used to generate one or more queries against a
media library to obtain the list of content. In other embodiments,
content may be determined based on whether the content satisfies
the selection criteria. In yet another example, the selection
criteria may specify content to be excluded from the list of
content.
[0040] In step 270, content is presented from the list of content
using the device configuration set in step 240. For example,
content selected for a mode may be played by media player 100 with
GUI elements, applications, or the like, enabled for the selected
mode. FIG. 2 ends in step 280.
[0041] Accordingly, media player 100 may be quickly configured to
the preference or activity of a user defined by a particular mode.
Additionally, the user may be presented with only those GUI
elements, applications, content, and other functionality that the
user desires when the selected mode is enabled.
[0042] FIGS. 3A and 3B are examples of graphical user interface
(GUI) 300 that may be configured according to modes in one
embodiment according to the present invention. Referring to FIG.
3A, GUI 300 can include display area 305 and display area 310
positioned to the right of display area 305. Display area 305 may
include GUI element 315 entitled "Select Mode" and a list of modes
320 (e.g., "workout," "relaxation," "driving," and "pre-party").
Display area 310 may include GUI element 325 entitled "Content
List" and GUI element 330 entitled "GUI Features."
[0043] In this example, a user can select the mode entitled
"RELAXATION" from the list of modes 320. GUI 300 then may display
the user selection using GUI element 335 positioned over the words
RELAXATION in the list of modes 320 and which appears as a hatched
rectangle with rounded corners. Upon selecting the relaxation mode,
GUI 300 can update GUI element 325 with a listing of content 340
associated with the relaxation mode. For example, the listing of
content 340 may include a list of filenames, genres, artists, and
the like. GUI 300 further may update GUI element 330 with a listing
or preview of GUI elements 345 (e.g., GUI elements A, B, and C)
that may be available during the relaxation mode. Listing or
preview of GUI elements 345 may include applications, icons,
themes, and the like and their associated layout.
[0044] Referring to FIG. 3B, in this example, a user can select the
driving mode from the list of modes 320. GUI 300 then may display
the user selection using GUI element 350 positioned over the words
DRIVING in the list of modes 320 and which appears as a hatched
rectangle with rounded corners. Upon selecting the driving mode,
GUI 300 can update GUI element 325 with a listing of content 355
associated with the driving mode. For example, the listing of
content 355 may include a list of songs, albums, time periods,
beats, and the like. GUI 300 further may update GUI element 330
with a listing or preview of GUI elements 360 (e.g., GUI elements
A, D, and E) that may be available during the during mode. Listing
or preview of GUI elements 360 may include applications,
representations of interfaces with external devices (e.g., a car
radio dock), icons, themes, and the like and their associated
layout.
[0045] FIGS. 4A and 4B are a flowchart of method 400 changing
functionality of a device based on a mode in one embodiment
according to the present invention. FIG. 4A begins in step 405.
[0046] In step 410, a mode is determined. For example, an
electronic device may determine the mode from a user selection of a
mode identifier from a list. In another example, the mode may be
determined automatically based on the device's or user's location,
content playback history, usage, schedule information, or the like.
The mode may be automatically determined based on an accessory
device coupled to an electronic device. For example, a
pre-determined mode may be determined when an electronic device is
coupled to a car stereo. In another example, a pre-determined mode
may be determined when an electronic device is coupled to a docking
station or home theater system.
[0047] In step 415, information associated with the mode is
determined. For example, a mode definition file may be consulted to
determine content attributes and selection criteria, mode specific
GUI elements, mode specific applications, hardware and accessories
to be enabled/disable, and the like. In another example,
information associated with a mode may be retrieved from a library
or registry.
[0048] In step 420, relevant content associated with the mode is
determined based on the information. For example, an electronic
device, such as media player 100 of FIG. 1, may select content from
a media or content library that satisfies one or more attributes or
selection criteria defined by the mode. In another example, the
relevant content may be determined based on playlists or other
content identifiers that a user has associated with the determined
mode.
[0049] In step 425, access to the relevant content associated with
the mode is enabled in a media library. In one example, content or
other media assets may be marked or flagged as enabled. In another
example, a query engine may be configured to filter access to the
relevant content. In step 430, access to any remaining content not
associated with the mode is disabled. For example, media player 100
may mark or flag certain content as disabled. In another example, a
query engine may be configured to filter access only to the
relevant content.
[0050] In step 435, a device configuration is determined based on
the information. As discussed above, the device configuration may
include information specifying what hardware or software elements
are available or unavailable during the determined mode. In step
440, one or more applications associated with the determined device
configuration are enabled. In one embodiment, the mode may specify
the one or more applications by name, identifier, or the like. In
one example, media player 100 may enable links or menu items to the
one or more applications in a GUI. In step 445, one or more
applications not associated with the determined device
configuration are disabled. In another example, media player 100
may disable or remove links or menu items to applications not
associated with the device configuration in the GUI. The processing
of method 400 continues in step 445 of FIG. 4B.
[0051] Referring to FIG. 4B, in step 445, accessory devices
associated with the determined device configuration are determined.
In step 455, a determination is made whether an accessory device
used for the determined mode is attached to the electronic device.
In step 455, if a determination is made that an accessory device
used for the determined mode is not attached, in step 460, a prompt
is made for the accessory device. For example, media player 100 may
display a dialog on a graphical user interface prompting the user
to attach the accessory device. In another example, media player
100 may include an audio user interface that prompts the user to
attach the accessory device.
[0052] In step 455, if a determination is made that an accessory
device used for the determined mode is attached or after prompting
for the accessory device in step 460, any attached accessory
devices associated with the mode are configured (or enabled) in
step 465. If accessory devices are not attached in step 455 or not
associated with the mode, in step 470, the accessory devices are
disabled.
[0053] In step 475, GUI is determined for the mode. The determined
GUI may include layout information, placement information,
accessibility information, or the like. For example, media player
100 may determine placement and arrangement of any applications
that have been enabled by the mode. Media player 100 may further
determine the look and feel of the GUI. Each mode may have
different themes, icons, tiles, visual effects, animations, color
schemes, or the like. In various embodiments, elements and layout
of a mode GUI are determined based on the information associated
with the mode. The elements may include windows, icons, dialogs,
buttons, and the like. The layout specifies where a GUI element is
positioned relative to a display area, application window, dialog,
or to one or more other GUI elements. In step 480, the GUI is
displayed. FIG. 4B ends in step 485.
[0054] FIG. 5 is a block diagram illustrating various attributes
and other criteria that may be used to generate a mode in one
embodiment according to the present invention. For example, a media
playback device may have two default modes, music playback and
video playback. In the default music playback mode, a user may have
access to all applications related to music playback and all music
content. The GUI of the media playback device may include a theme
or color scheme indicative of the default music playback mode. In
the default video playback mode, a user may have access to all
applications related to video playback and all video content. The
GUI of the media playback device may include a theme or color
scheme indicative of the default video playback mode.
[0055] In various embodiments, a user can create multiple modes of
the default music playback mode or the default video playback mode.
For example, selection criteria information 510 and device
configuration information 520 can be used to define or otherwise
configure modes of the media playback device, where each defined
mode may be a sub-mode or multi-mode of the default music or video
playback modes.
[0056] Selection criteria information 510 can include information
for identifying, determining, or selecting content or other media
assets for a mode. For example, information 510 may include
information about a title, artists, album, pre-defined genre,
user-defined or user-provided genre, chapter, track, concert, date,
beat, size or the like. Device configuration information 520 can
include information for identifying, selecting, or setting
functionality of hardware and/or software elements of the media
playback device. For example, information 520 may include
information about applications, hardware modules or devices,
accessories, databases, themes, GUI elements, and other external
data sources.
[0057] In block 530, a user can employ selection criteria
information 510 and device configuration information 520 to create
or otherwise configure a mode of the portable media playback
device. Information defining the mode, such as a mode definintion
file, may be stored on the media playback device. In one
embodiment, a user may interact with an application on an host
computer, and in block 540, upload the created mode to the media
playback device.
[0058] In one example of operation, a user may configure one or
more sub-modes or multi-modes of the default music playback mode.
For example, the user may create a "workout" mode as a multi-mode
of the default music playback mode. The "workout" mode may specify
the type of style of music to be played back when the "workout"
mode is enabled. Thus, a given sub-set of all available music
accessible when the default music playback mode is enabled may be
made available or otherwise accessible when a sub-mode or
multi-mode is enabled. The user may further specify the look and
feel of the GUI and what applications/hardware/accessory device are
accessible when the "workout" mode is enabled.
[0059] In another example of operation, the user may create a
"relaxation" mode as a sub-mode or multi-mode of the default music
mode. The "relaxation" mode may specify a set of playlists for
music to be played back when the "relaxation" mode is enabled. The
user may further specify the look and feel of the GUI and what
applications/hardware/accessory device are accessible when the
"relaxation" mode is enabled.
[0060] FIG. 6 is a flowchart of method 600 for creating a device
mode in one embodiment according to the present invention. FIG. 6
begins in step 610.
[0061] In step 620, mode creation is enabled. For example, a user
may interact with a configuration application that allows the user
to create or build different modes or establish sub-modes or
multi-modes of another existing mode. The application may be
executed on media player 100 of FIG. 1 or on host computer 160, for
example. In one embodiment, a user may also create modes using a
web browser connected to a web site. The user then may save the
created mode on media player 100, or upload a mode definition file
to media player 100. The user may also create a mode and share the
mode with users of different media players. Additionally, a user or
organization may create a mode to be distributed along with content
or applications sold or carried by the user or organization.
[0062] In step 630, a mode identifier is received. The mode
identifier may include any set of characters or symbols. The mode
identifier may include a name for the mode. Some examples of names
are "My mode," "Mode #1," "Bob's party settings," "His car," "Her
car," or the like.
[0063] In step 640, device configuration information is received.
For example, a user may edit device configuration settings for a
default or standard mode. In another example, a user may copy an
existing mode and change the device configuration to suit the users
needs. In yet another example, a user may start with a blank device
configuration, establish one or more configuration items or values
in the configuration, and leave unidentified configuration items to
be resolved at run-time.
[0064] In step 650, selection criteria is received. For example,
the user may specify a title, artist, album, chapter, track,
concert, a predefined genre, a user provided genre, date, beat,
size, and other attributes associated with content that should be
made available or otherwise accessible when the mode is enabled. In
one example, a user may associate a particular artist with Mode A.
When Mode A is selected, media player 100 may only display content,
such as songs, written by or performed by the particular artist
that the user has in a media library. Additionally, media player
100 may automatically build a playlist that includes songs
associated with the particular artist. In some embodiments, media
player 100 may obtain artwork, statistics, biographies about the
particular artist, or the like, for display to the user while Mode
A is enabled.
[0065] In another example, a user may associate a particular date
with Mode B. When Mode B is selected, media player 100 may only
display content associated with the particular date that the user
has in a media library. For example, media player 100 may only
display those songs written, recorded, or performed during
1987.
[0066] In step 660, information defining the mode is generated. In
one embodiment, a mode definition file can be created. In another
example, information associated with the mode may be created in a
library or registry. In step 670, the mode is stored. The mode may
be stored on an electronic device or a host device. In step 680,
mode creation is disabled. FIG. 6 ends in step 690.
[0067] In various embodiments, accordingly, an electronic device,
such as media player 100, can use information associated with a
mode to determine the content associated with the mode and also
functionalities of media player 100 for the mode. Thus, a single
mode for music playback may have many multi-modes each with a
different look, feel, and selection of content. In another example,
a user may associated a particular set of applications with a given
multi-mode. When the particular multi-mode is enabled, media player
100 may only provide access to the particular set of applications.
For example, during a workout, a user may connect an accessory to
media player 100 to receive sensor data from a pedometer or a pair
of shoes. The user may configure media player 100 to predominantly
display an application that tracks the progress of a user's workout
based on the sensor data.
[0068] As discussed above, in various embodiments, a mode may be
selected or enabled based on a variety of factors, both internal
and external. FIG. 7 is a flowchart of alternative method 700 for
changing functionality of a device based on a mode in one
embodiment according to the present invention. FIG. 7 begins in
step 710.
[0069] In step 720, one or more preferences, location information,
usage history information, etc. are determined. For example, an
electronic device may detect an accessory for a car audio system
and recognize its location to be inside a car. In another example,
an electronic device may determine that it is 9:30 AM, and that
between 9 AM and 6 PM, the device's owner should be at work. In a
further example, an electronic device may that during a particular
time span each day of the week, a group of songs are listened to
more frequently. In yet another example, a GPS unit or other
location information providing device may provide the physical
location of the device.
[0070] In step 730, a mode is selected based on the determination.
For example, a daily commute mode may be selected based on
detecting the accessory for the car audio system. In another
example, an easy listening mode may be selected during work hours.
In yet another example, a classical music mode may be selected on
Sunday mornings. In a further example, a classical guitar rock mode
may be selected when the device is found to be positioned or
located between a first and second geographic location. A hard rock
mode may be selected when the device is found to be positioned or
located between the second geographic location and a third
location, such as when a jogger or bicyclist transitions from flat
terrain to an uphill climb.
[0071] In step 740, the device configuration is set based on the
mode. For example, the GUI may be changed or updated, access to
applications may be enabled or removed, access to accessory devices
may be requested or disabled, or the like. In step 750, content is
selected based on the mode. For example, when the daily commute
mode may be selected, access may be provided to a series of
podcasts or downloaded newscasts. In another example, for the
classical guitar rock mode a playlist may be generated for content
that satisfies the classical guitar genre and for the hard rock
mode another playlist may be generated for content from one or more
hard rock artists or bands.
[0072] In step 760, the selected content is presented using the
device configuration. Accordingly, an electronic device may have a
different look and feel for each mode, and present different
content for each mode. A user may create sub-modes or enable
multi-modes of a device, such that the device may present content
and user interface elements that can be specified or relevant to a
user's situation, location, activity, or environment.
[0073] FIG. 8 is a simplified block diagram of a computer system
800 that may incorporate embodiments of the present invention. FIG.
8 is merely illustrative of an embodiment incorporating the present
invention and does not limit the scope of the invention as recited
in the claims. One of ordinary skill in the art would recognize
other variations, modifications, and alternatives.
[0074] In one embodiment, computer system 800 includes processor(s)
810, random access memory (RAM) 820, disk drive 830, input
device(s) 840, output device(s) 850, display 860, communications
interface(s) 870, and a system bus 880 interconnecting the above
components. Other components, such as file systems, storage disks,
read only memory (ROM), cache memory, codecs, and the like may be
present.
[0075] RAM 820 and disk drive 830 are examples of tangible media
configured to store data such as audio, image, and movie files,
operating system code, embodiments of the present invention,
including executable computer code, human readable code, or the
like. Other types of tangible media include floppy disks, removable
hard disks, optical storage media such as CD-ROMS, DVDs and bar
codes, semiconductor memories such as flash memories,
read-only-memories (ROMS), battery-backed volatile memories,
networked storage devices, and the like.
[0076] In various embodiments, input device 840 is typically
embodied as a computer mouse, a trackball, a track pad, a joystick,
a wireless remote, a drawing tablet, a voice command system, an eye
tracking system, a multi-touch interface, a scroll wheel, a click
wheel, a touch screen, an FM/TV tuner, audio/video inputs, and the
like. Input device 840 may allow a user to select objects, icons,
text, and the like, via a command such as a click of a button or
the like. In various embodiments, output device 850 is typically
embodied as a display, a printer, a force-feedback mechanism, an
audio output, a video component output, and the like. Display 860
may include a CRT display, an LCD display, a Plasma display, and
the like.
[0077] Embodiments of communications interface 870 may include
computer interfaces, such as include an Ethernet card, a modem
(telephone, satellite, cable, ISDN), (asynchronous) digital
subscriber line (DSL) unit, FireWire interface, USB interface, and
the like. For example, these computer interfaces may be coupled to
a computer network 890, to a FireWire bus, or the like. In other
embodiments, these computer interfaces may be physically integrated
on the motherboard or system board of computer system 800, and may
be a software program, or the like.
[0078] In various embodiments, computer system 800 may also include
software that enables communications over a network such as the
HTTP, TCP/IP, RTP/RTSP protocols, and the like. In alternative
embodiments of the present invention, other communications software
and transfer protocols may also be used, for example IPX, UDP or
the like.
[0079] In various embodiments, computer system 800 may also include
an operating system, such as Microsoft Windows.RTM., Linux.RTM.,
Mac OS X.RTM., real-time operating systems (RTOSs), open source and
proprietary OSs, and the like.
[0080] FIG. 8 is representative of a media player and/or computer
system capable of embodying the present invention. It will be
readily apparent to one of ordinary skill in the art that many
other hardware and software configurations are suitable for use
with the present invention. For example, the media player may be a
desktop, portable, rack-mounted or tablet configuration.
Additionally, the media player may be a series of networked
computers. Moreover, the media player may be a mobile device, an
embedded device, a personal digital assistant, a smartphone, and
the like. In still other embodiments, the techniques described
above may be implemented upon a chip or an auxiliary processing
board.
[0081] Various embodiments of any of one or more inventions whose
teachings may be presented within this disclosure can be
implemented in the form of logic in software, firmware, hardware,
or a combination thereof. The logic may be stored in or on a
machine-accessible memory, a machine-readable article, a tangible
computer-readable medium, a computer-readable storage medium, or
other computer/machine-readable media as a set of instructions
adapted to direct a central processing unit (CPU or processor) of a
logic machine to perform a set of steps that may be disclosed in
various embodiments of an invention presented within this
disclosure. The logic may form part of a software program or
computer program product as code modules become operational with a
processor of a computer system or an information-processing device
when executed to perform a method or process in various embodiments
of an invention presented within this disclosure. Based on this
disclosure and the teachings provided herein, a person of ordinary
skill in the art will appreciate other ways, variations,
modifications, alternatives, and/or methods for implementing in
software, firmware, hardware, or combinations thereof any of the
disclosed operations or functionalities of various embodiments of
one or more of the presented inventions.
[0082] The disclosed examples, implementations, and various
embodiments of any one of those inventions whose teachings may be
presented within this disclosure are merely illustrative to convey
with reasonable clarity to those skilled in the art the teachings
of this disclosure. As these implementations and embodiments may be
described with reference to exemplary illustrations or specific
figures, various modifications or adaptations of the methods and/or
specific structures described can become apparent to those skilled
in the art. All such modifications, adaptations, or variations that
rely upon this disclosure and these teachings found herein, and
through which the teachings have advanced the art, are to be
considered within the scope of the one or more inventions whose
teachings may be presented within this disclosure. Hence, the
present descriptions and drawings should not be considered in a
limiting sense, as it is understood that an invention presented
within a disclosure is in no way limited to those embodiments
specifically illustrated.
[0083] Accordingly, the above description and any accompanying
drawings, illustrations, and figures are intended to be
illustrative but not restrictive. The scope of any invention
presented within this disclosure should, therefore, be determined
not with simple reference to the above description and those
embodiments shown in the figures, but instead should be determined
with reference to the pending claims along with their full scope or
equivalents.
* * * * *