APPARATUS AND METHOD FOR CONTROLLING INTERACTIONS WITH A PORTABLE ELECTRONIC DEVICE

Abstract
Embodiments disclosed herein generally include a system and a method of controlling a portable electronic device based on the interaction of the portable electronic device with an electronic device, such as a mounting device. Embodiments of the disclosure may include a system and a method of providing information to the portable electronic device that causes the portable electronic device to perform one or more desirable functions or processes based on the portable electronic device's interaction with the mounting device. In some embodiments, the portable electronic device may respond differently when it is caused to interact with differently configured mounting devices. In some embodiments, the way that the portable device interacts with a user may be restricted and/or the functions that the portable device is able to perform may be desirably restricted after the portable device is caused to interact with a mounting device.
Description
BACKGROUND OF THE INVENTION

1. Field of the Invention


Embodiments disclosed herein generally relate to methods and electronic devices used to enable the configuration and control of one or more portable electronic devices.


2. Description of the Related Art


The popularity of portable electronics, such as smart phones, touch pads, PDAs, portable computers and portable music players, has increased dramatically in the past decade. As people have become more reliant on portable electronics they have found more and more uses in the home, business and automobiles, such as GPS applications, audio playback applications, texting applications, camera applications, baby monitors and many other useful applications.


As the development of software applications that run on today's portable electronic devices have improved, the usefulness and our reliance on these types of portable electronic devices, such as smart phones, tablets and other similar devices have increased. One use of a portable electronic device that has developed in recent years, is the use of the portable electronic device in an automobile to help the driver stay connected to the outside world and/or help them get from one place to another. These devices have greatly increased the ability for individuals to move from location to location while still being able to conduct business or tend to personal matters. However, the use of portable electronic devices in an automobile or other similar applications have both safety and usability limitations. Instead of using a mobile telephone only in emergency situations, many individuals use their telephones while driving an automobile. To do so, these drivers will sometimes take their eyes off of the road or waterway to look at their telephone to dial the desired number or interact with phone in some way. As such, the driver is less likely to be able to react quickly to an emergency situation while driving and is a much greater risk to the surrounding drivers since their attention is diverted from the road while dialing and/or talking on the telephone.


In the automobile application, various systems have attempted to reduce the need for a driver to remove the driver's hand to use a mobile telephone and/or to reduce the amount of time a driver's eyes are not on the road ahead. Some automobile manufacturers have attempted to provide solutions by providing a system that is able to communicate with the user's phone, such as a Bluetooth communication device that is integrated within the audio system of the automobile. These automobile systems only contain a simple communication interface that is not able to recognize and provide content based on the user's portable electronic device. Also, with the proliferation of the use portable electronic devices it is often hard for the automobile's system to distinguish between multiple wireless communication enabled devices that are positioned within the local environment. The confusion created by the presence of multiple wireless communication devices in an automobile, residential or business environment can cause or require the user to be distracted from his/her current activities due to the need to interact with the portable electronic device to define which device is to be used. The distraction from the user's current activities can lead to safety concerns as well as simply be inconvenient for the user.


Therefore, there is need for an electronic device that is able interface with the portable electronic device so that it will automatically and seamlessly provide desirable information to the user and to avoid the above-mentioned problems. There is also a need for a software application and a control method that allows the above described portable electronic device to be easily controlled due to the simple interaction of the portable electronic device with a device controlling system.


SUMMARY OF THE INVENTION

Embodiments disclosed herein generally include a system and a method of controlling a portable device based on the interaction of the portable device with an electronic device, such as a mounting assembly. In some embodiments, the interaction of the portable device with the electronic device causes the portable device to perform one or more desirable functions or processes. The one or more desirable functions or processes will generally include the portable device performing a desirable primary control function. The portable device's primary control function is typically performed by software applications running on the portable device, and may include causing the portable device to operate in a certain desired way and/or to perform one or more desired activities, while the portable device is engaged with the electronic device. For example, the one or more desired activities may include controlling the information transferred between the user and other programs running on the portable device and/or causing the portable device to operate in a hands-free type safe mode of operation.


Embodiments disclosed herein may further provide an electronic device, comprising an enclosure having a supporting surface, a processor, a memory having stored therein mode of operation information, a sensor that is configured to detect the presence of a first portable device that is positioned proximate to the supporting surface, another sensor to detect input provided from a user and a wireless transceiver that is in communication with the processor. The wireless transceiver being configured to wirelessly transfer the mode of operation information to the first portable device.


Embodiments disclosed herein may further provide a method of controlling an electronic device comprising receiving, at a first electronic device, a first signal that comprises primary control function information, wherein the first electronic device includes a plurality of software applications that are stored in memory, and preventing at least one software application of the plurality of software applications from interacting with a user based on the received primary control function information, wherein the at least one software application comprises a first software application. Thereafter, detecting a first user input using a first sensor, determining that the detected first user input comprises device control information, wherein the device control information comprises a device control command, and causing a second software application of the plurality of software applications to generate output information that is delivered to a user from the first electronic device based on the determined device control command, wherein the generated output information is derived from at least a portion of the detected first user input.


Embodiments disclosed herein may further provide a method of controlling an electronic device, comprising detecting a first user input using a first sensor, determining, at a first electronic device, that the detected first user input comprises device control information that comprises a device control command and contextual device control information, wherein the first electronic device includes a plurality of software applications stored in memory, and causing a first software application of the plurality of software applications to generate output information based on the device control command, wherein the generated output information is derived from at least a portion of the first user input and an analysis of the contextual device control information.


Embodiments disclosed herein may further provide an electronic device, that comprises an enclosure having a supporting surface, a processor, a memory having mode of operation information stored therein, a first sensor that is configured to detect the presence of a first portable device that is positioned proximate to the supporting surface, a second sensor that is positioned to detect physical or non-physical input from a user, and a wireless transceiver that is in communication with the processor, wherein the wireless transceiver is configured to wirelessly transfer the mode of operation information to the first portable device.





BRIEF DESCRIPTION OF THE DRAWINGS

So that the manner in which the above recited features of the invention can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.



FIG. 1 illustrates one or more electronic devices and a mounting device that are interconnected using various communication links, according to one embodiment of the present disclosure.



FIG. 2 illustrates an example of an electronic device and a mounting device, according to one embodiment of the present disclosure.



FIG. 3A illustrates a method of configuring and controlling an electronic device due to the interaction with the mounting device, according to one embodiment of the present disclosure.



FIG. 3B illustrates a method of configuring and controlling an electronic device, according to one embodiment of the present disclosure.



FIG. 3C illustrates an alternate method of configuring and controlling an electronic device due to the interaction with the mounting device, according to one embodiment of the present disclosure.



FIG. 3D illustrates one or more electronic devices and a mounting device that are interconnected using various communication links, according to one embodiment of the present disclosure.



FIG. 3E illustrates a method of transferring user input between a primary portable device and a second electronic device, according to one embodiment of the present disclosure.



FIG. 3F illustrates a method of controlling the delivery of information between a user and a primary portable device that is in communication with a second electronic device, according to one embodiment of the present disclosure.



FIG. 3G illustrates a method of controlling an electronic device based on input received from a user, according to one embodiment of the present disclosure.



FIG. 4A illustrates an electronic device and a mounting device, according to one embodiment of the present disclosure.



FIG. 4B illustrates a rear surface of the electronic device illustrated in FIG. 4A, according to one embodiment of the present invention.



FIG. 5A illustrates an electronic device in a first orientation relative to a mounting device that is disposed in an automobile environment, according to one embodiment of the present disclosure.



FIG. 5B is a cross-sectional view of the electronic device using the section lines 5B-5B illustrated in FIG. 5A, according to one embodiment of the present disclosure.



FIG. 5C illustrates an electronic device in a first orientation relative to the mounting device as also illustrated in FIGS. 5A-5B, according to one embodiment of the present disclosure.



FIG. 5D illustrates an electronic device in a second orientation relative to the mounting device illustrated in FIGS. 5A-5B, according to one embodiment of the present disclosure.



FIG. 6A illustrates an electronic device positioned on a mounting device on a docking station, according to one embodiment of the present disclosure.



FIG. 6B is an isometric view of a docking station, according to one embodiment of the present disclosure.



FIG. 6C illustrates an electronic device that is alternately positioned on a mounting device versus the configuration illustrated in FIG. 6A, according to one embodiment of the present disclosure.



FIG. 6D illustrates an electronic device positioned on a mounting device of a docking station, according to one embodiment of the present disclosure.



FIG. 7 illustrates an electronic device positioned on a mounting device that is positioned in a residential or business environment, according to one embodiment of the present disclosure.



FIG. 8 illustrates an electronic device in a first orientation relative to a mounting device that is disposed relative to a user that is positioned within a known environment, according to one embodiment of the present disclosure.





To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. It is contemplated that elements disclosed in one embodiment may be beneficially utilized on other embodiments without specific recitation. The drawings referred to here should not be understood as being drawn to scale unless specifically noted. Also, the drawings are often simplified and details or components omitted for clarity of presentation and explanation. The drawings and discussion serve to explain principles discussed below, where like designations denote like elements.


DETAILED DESCRIPTION

In the following description, numerous specific details are set forth to provide a more thorough understanding of the present invention. However, it will be apparent to one of skill in the art that the present invention may be practiced without one or more of these specific details. In other instances, well-known features have not been described in order to avoid obscuring the present invention.


Embodiments disclosed herein generally include a system and a method of controlling a portable electronic device, hereafter portable device, based on the interaction of the portable device with an electronic device, such as a mounting device. Embodiments of the disclosure may include a system and a method of providing information to the portable device, which causes the portable device to perform one or more desirable functions or processes based on the portable device's interaction with the mounting device. In some embodiments, the portable device may respond differently when it is caused to interact with differently configured mounting devices. In some embodiments, the way that the portable device interacts with a user may be restricted and/or the functions that the portable device is able to perform may be desirably restricted after the portable device is caused to interact with a mounting device. Some aspects of the invention may include an apparatus, method and/or computing device software application(s) that are configured to more easily setup and reliably control a portable device based on the interaction of the portable device with the mounting device.


In some embodiments, the apparatus and methods include a mounting device that can provide information about the environment that the portable device has been placed in or the type of task that is desired to be performed by the portable device based on interaction of the portable device with a mounting device. In one example, a first mounting device is configured to be positioned in an automobile, and thus is adapted to cause the software application(s) running on the portable device to perform automobile related applications, such as, for example, navigation programs, hand-free texting applications, or audio applications, based on the interaction with the first mounting device. While, in this example, if the same portable device is caused to interact with a second mounting device that is configured differently from the first mounting device the portable device may then perform a different type process based on the interaction with the second mounting device. For example, if the second mounting device is configured to cause the portable device to perform a baby monitor type application, the software application(s) running on the portable device are altered or adjusted so that a baby monitor processes and/or an audio delivery application can be performed, based on the interaction with the second mounting device.



FIG. 1 is a schematic diagram that illustrates a mounting device 100 that comprises at least one mounting assembly 102 that is configured to interact with an electronic device, such as a primary portable device 105. In general, the mounting assembly 102 is an auxiliary computing device, or electronic device, that is used in conjunction with the primary portable device 105. In general, the mounting assembly 102 and the primary portable device 105 are able to communicate with each other over a communication link 140.


In some embodiments, during operation, when the primary portable device 105 is caused to interact with the mounting assembly 102, a wireless communication signal is generated by the mounting assembly 102. The generated wireless communication signal is then received via the communication link 140 and is processed by the primary portable device 105. The processed wireless communication signal is then used by the primary portable device to cause one or more activities to be performed by one or more software applications running within the primary portable device 105 based on the information received in the wireless communication signal. The information provided by the mounting assembly 102 may contain preset configuration or desired mode of operation related information stored within the mounting assembly 102 that are transferred during the delivery of the wireless communication signal. Thus, in some embodiments, the primary portable device 105 need not contain hardware that is specially configured to interact with the mounting device, but only requires that the primary portable device 105 be enabled to communicate with the mounting assembly 102 and have one or more preloaded software applications running on primary portable device 105 that are adapted to perform the one or more desired activities based on the information received in wireless communication signal.


The mounting assembly 102 may be any technically feasible electronic device configured to interact with a primary portable device 105. In practice, mounting assembly 102 may be battery-operated, although a mounting device that receive power from a wall outlet, wireless charger, automobile charger or other similar devices also fall within the scope of the present invention. In general, the mounting assembly 102 may comprise a device that has the capability of storing, processing and delivering information to the primary portable device 105 so that the primary portable device 105 can perform some useful function and/or interact with a user.


The mounting assembly 102 may comprise a processor 118 coupled to input/output (I/O) devices 116, a power source 130 and a memory unit 122. Memory unit 122 may include one or more software applications 124 and stored media data 126. Processor 118 may be a hardware unit or combination of hardware units capable of executing software applications and processing data. In some configurations, the processor 118 includes a central processing unit (CPU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), and/or a combination of such units. Processor 118 is generally configured to execute the one or more software applications 124 and process the stored media data 126, which are each included within memory unit 122.


The I/O devices 116 are coupled to memory unit 122 and processor 118, and may include devices capable of receiving input and/or devices capable of providing output. For example, I/O devices 116 could include one or more sensors 117 that are configured to sense the interaction of the primary portable device 105 with the mounting assembly 102, and also provide information to the processor 118. The I/O devices 116 also include one or more wireless transceivers 120 that are configured to establish one or more different types of wired or wireless communication links with other transceivers residing within other computing devices, such as a transceiver within the processing system 106 of the primary portable device 105. A given transceiver within I/O devices 116 could establish, for example, a Wi-Fi communication link, near field communication (NFC) link or a Bluetooth® communication link (e.g., BTLE, Bluetooth classic), among other types of communication links with similar components in the primary portable device 105.


The I/O devices 116 may also include an input sensor 114 that is configured to sense one or more forms of input from a user during use. The input sensor 114 can be configured to sense physical motion related inputs generated by a user and/or audio related inputs from a user. In one example, the input sensor 114 includes one or more capacitive sensing elements, IR sensors, cameras or other similar types of sensing devices that are able to detect hand gestures, orientation of a user's appendage or other similar positional, orientation or movement related input from a user's appendage, body or face. A user's appendage may include a user's hand, arm, leg, foot, or a portion thereof. In another example, the input sensor may include one or more audio sensing elements that are able to detect audible inputs from a user. In some embodiments, the software application(s) running on the mounting assembly 102 are configured to continually, or regularly, monitor and receive information detected by the input sensor 114 during operation, as is discussed further below.


In some embodiments, the I/O devices 116 may include a wireless signal strength comparison device 121 that is adapted to detect the signal strength of one or more wireless signals that are received by a wireless transceiver 120 in the mounting assembly 102. The signal comparison device may also include one or more analog or digital comparison circuits (e.g., OP Amps), and at least one feedback circuit that is able to provide the processor 118 with information about the wireless signals received by the mounting assembly 102. In one example, the wireless signal strength comparison device is able to determine the relative power levels of two or more wireless signals that have been received from two or more portable electronic devices, such as the primary portable device 105 and the second electronic device 151 during operation. Various applications and uses of the wireless signal strength comparison device 121 are further discussed below.


Memory unit 122 may be any technically feasible type of hardware unit configured to store data. For example, memory unit 122 could be a hard disk, a random access memory (RAM) module, a flash memory unit, or a combination of different hardware units configured to store data. Software application 124, which is stored within the memory unit 122, includes program code that may be executed by processor 118 in order to perform various functionalities associated with the mounting assembly 102.


The stored media data 126 may include any type of information that relates to a desired control parameter, user data, mounting device configuration data or other useful information. The stored media data 126 may include information that is delivered to and/or received from the primary portable device 105. The software application 124 may generate wireless control signals based on the stored media data 126. The stored media data 126 may reflect various data files, settings and/or parameters associated with the environment and/or desired behavior of the primary portable device 105. As mentioned above, software application 124 may configure the mounting assembly 102 based on stored media data 126.


The primary portable device 105, which are well known in the art, can be any type of portable electronic device, such as a cell phone (e.g., smart phone), a tablet computing device, laptop computer, an e-book reader, a portable music player, or other similar electronic device. Examples of a primary portable device 105 may include, but are not limited to an iPod®, iPhone®, iPad®, Android™ phone, Samsung phone, Samsung Galaxy®, Squeeze™ box, Microsoft Surface®, laptop or other similar device. The primary portable device 105 may comprise a processing system 106 and memory 107, which may contain stored data 108 and one or more software applications, or software programs, such as programs 109 and 110. The processing system 106 will typically includes input/output (I/O) devices 106A, a processor 106B, which may include a central processing unit (CPU), a digital signal processor (DSP), and/or application-specific integrated circuits (ASIC), and other useful components. The I/O devices within the primary portable device 105 may include a speaker 111, display device 112, a touch sensing device (not shown) and/or one or more transceivers (not shown) configured to establish a wired or wireless communication link with other transceivers residing within other computing devices, such as the wireless transceiver 120. The I/O devices within the primary portable device 105 may also include motion sensing devices (e.g., accelerometers), magnetic field sensing devices, sound sensing devices or other useful sensors that can be used to sense the interaction of the primary portable device 105 and the mounting assembly 102. The I/O devices 116A may also include one or more input receiving devices, such as sensors 104 that are configured to detect the movement of an appendage of a user during use. The input receiving devices may include one or more sensing devices, such as a capacitive sensing device, IR sensor, camera or other similar device, that is able to detect physical movement of user's appendage. Typically, the input receiving devices are formed as part of a touch sensing display device, but in some cases a separate proximity sensor may be included in some device applications (e.g., Samsung Galaxy S phone)). The I/O devices may also include one or more timing devices, such as a clock (not shown), that are configured to provide time related information to the processor within the processing system 106. The clock may be a simple IC or similar component, such as a crystal oscillator. The software applications, or programs 109 and 110, may include software applications that are configured to run in the foreground or background on the primary portable devices 105. The software applications are used to control one or more activities being performed by the primary portable device 105 and/or provide some useful input to the user via audio or visual means provided by the primary portable devices 105.


As noted above, with the proliferation of the use portable devices, the mounting device 100 may also separately receive information from a second electronic device 151 that is also positioned within communication range of the mounting assembly 102 via a communication link 150. Therefore, in some configurations the mounting assembly 102 may also be configured to communicate with a second electronic device 151. The second electronic device 151 may be similarly configured as the primary portable device 105, and thus will not be discussed further herein. However, often the presence of a second electronic device 151 near the mounting assembly 102 may be undesirable, since it can create confusion as to which of the devices are to be desirably controlled due to their interaction with the mounting device. Solutions to these types of problems are discussed further below.


Also, in some embodiments, to improve a user's audio experience, it is desirable for the mounting device 100 to be configured to communicate with one or more media output devices 180. While not intending to limit the scope of the disclosure described herein, in some configurations the media output device 180 is an Ultimate Ears Boom™ by Logitech Europe S.A. The media output device 180 may comprise a processor 184 that is coupled to input/output (I/O) devices 182 and a power source 186. The I/O devices 182 may include a wireless transceiver (not shown) and a speaker (not shown). In one example, the auxiliary media output device 180 is adapted to communicate with the mounting assembly 102 via a link 170 using the wireless transceiver. The links 170 may include wired or wireless links that allow the media output device 180 to communicate with the mounting assembly 102 and/or primary portable device 105. In some configurations, the memory unit 122 in the mounting assembly 102 may contain information regarding the media output device 180, such as EQ settings, pairing information or other useful information. The stored information can thus be retrieved and delivered to the media output device 180 and/or primary portable device 105 at a desirable time to facilitate the delivery of an audio output from the media output device 180 using audio data received from the primary portable device 105.


In some configurations, the mounting device 100 may also contain audio playback capabilities, a microphone, navigation related components (e.g., gyroscope components, GPS components), timing related components or other desirable and useful features.


Mounting Device System and Method Examples


FIG. 2 is a schematic diagram of a mounting device 100 that comprises a mounting assembly 102 that includes an enclosure 220 that has a mounting feature 222 and a device mounting region 219. In one configuration, the enclosure 220 is formed from a plastic, metal or composite material, and is configured to house the supporting electronics (e.g., processor 118, sensor 117, wireless transceiver 120 a power source 130 and a memory unit 122) within an internal region 223.


The device mounting region 219 will generally include a mounting surface 221 that is configured to form a stable physical contact region that is used to support the primary portable device 105. The device mounting region 219 may also include a plurality of magnets 226 that are configured to attract elements in an opposing mounting region 203 formed in the primary portable device 105 to the mounting surface 221. In some embodiments, the primary portable device 105 includes a cover 201 that is configured to surround at least a portion of the primary portable device 105. The cover 201 may include the mounting region 203 that has a structural element 204 that is configured to guide or preferentially cause the surface 221 of the mounting assembly 102 to be attracted to the mounting region 203. In one example, the structural element 204 may comprise a magnetic material, wherein the magnetic material generally includes a material that is attracted to magnets 226 disposed on or within the mounting assembly 102. In one example, the magnetic material may comprise plain carbon steel, 300 series stainless steel or more generally a ferromagnetic material. In this case, when the mounting region 203 of the primary portable device 105 is positioned near the surface 221 of the mounting assembly 102, the surface of the mounting region 203 and the surface 221 are brought into contact with each other due to the magnetic attraction of the magnets 226 to the structural element 204. One will note that, in some embodiments, the structural element 204 need not be a part of the primary portable device 105 (e.g., smart phone), but is a component that can be easily and separately added to or attached to the primary portable device 105. In one configuration, the structural element 204 is directly coupled to a surface of the primary portable device 105 (e.g., bonded to a surface of the primary portable device 105). In another configuration, the structural element 204 is indirectly coupled to a surface of the primary portable device 105, such as, for example, being disposed between a plastic cover and a surface of the primary portable device 105 or attached to a cover that is attached to the primary portable device 105.


In one configuration, the sensor 117 is positioned to detect the presence of the primary portable device 105 through the mounting surface 221 of the enclosure 220. The sensor 117 may include a mechanical, electrical or electro-optical type device that is adapted to sense the presence of the primary portable device 105 and provide a presence detection signal to the processor 118. In one example, the sensor 117 is a reed switch, mechanical switch, mechanical contact type switch, an acoustic sensing sensor or capacitive sensing type sensor that can provide a desired signal to the processor 118. In one example, the sensor 117 is an accelerometer that provides a signal to the processor 118 that is generated from the interaction of the mounting assembly 102 and the primary portable device 105. In some embodiments, the sensor 117 is configured to draw little or no power from the power source 130 during operation and/or idle times, so that the useable lifetime of the power source 130 (e.g., batteries) can be maximized.


In one example, the sensor 117 and device mounting region 219 are configured to sense the deformation or alteration in the shape of the mounting surface 221 when the primary portable device 105 is placed in contact with mounting surface 221 of the enclosure 220. In another example, the mounting surface 221 may initially be dome shaped (e.g., extending further from the enclosure 220 in the center of the surface 221 versus the edge (e.g., convex shaped)), but become distorted in an inward direction when the mounting region 203 of the primary portable device 105 is brought into contact with the surface 221. The inward distortion may then cause a change in the electrical resistance of a portion of the sensor 117, which is used to detect the presence of the primary portable device 105 by use of the processor 118.


In some configurations, the sensor 117 may be part of a solar cell device (not shown) that is used to sense when the primary portable device 105 is in contact with the mounting assembly 102 by the obstruction of the light receiving surface of the solar cell by the position of the primary portable device 105 when it is in contact with the mounting assembly 102. The solar cell device may be part of the enclosure 220, or be a separate attached electrical component, that is also used to charge the batteries found within the power source 130.


The mounting feature 222 may include a clasping element 222A that is adapted to couple to structural features commonly found in an automobile, house or business location. In one example, the clasping element 222A is configured to be attached to a dashboard or console component found in an automobile. FIG. 5B, which is discussed further below, is a cross-sectional view of a clasping element 222A that is disposed on a louver 501 found in an air vent of an automobile. While the mounting assembly 102 is illustrated in FIG. 2 as containing a clasping type element, this configuration is not intended to be limiting as to the scope of the invention provided herein, since other types of mounting features can be used without deviating from the basic scope of the invention provided herein. Thus, the clasping element 222A may alternately comprise a suction cup or other similar mounting component that is able attach the mounting assembly 102 to one or more components within the automobile environment, such as a cup holder, window, dashboard and/or 12V power jack. In some configurations, the clasping element 222A is adapted to support the weight of the primary portable device 105 and the contents of the enclosure 220 when the primary portable device 105 is disposed on or coupled to the surface 221.


Processing Sequence Examples


FIG. 3A illustrates a process sequence 300 for configuring and/or controlling a primary portable device 105 based on the interaction of the primary portable device 105 with a mounting device 100. The process sequence 300 generally includes an initiation sequence 301, an operation sequence 303 and a termination sequence 305, which are each discussed further below. FIGS. 3B-3C and 3E-3F include examples of processing sequences that may be performed during one or more of the steps outlined in the process sequence 300.


I—Initiation Sequence

At step 302, the initiation sequence 301 portion of the process sequence 300 starts with components in the mounting assembly 102 sensing the presence of the primary portable device 105. The presence of the primary portable device 105 can be sensed by use of the sensor 117 and processor 118 when the user causes the primary portable device 105 to interact with the mounting surface 221. The data generated by the sensor 117 (e.g., acceleration data, etc.) and other useful information relating to the interaction event (e.g., timing data) can then be stored within the memory unit 122 for later use, which is often referred to below as “interaction information.” Similarly, one or more sensors and one or more software applications (e.g., programs 109 or 110) running within the primary portable device 105 can collect data (e.g., “interaction information”) regarding the interaction event. In some configurations, an accelerometer and/or magnetic field sensing device in the primary portable device 105 is able to detect the interaction, and allow the processor 106B to analyze and store the generated data regarding the interaction event in memory 107. In one example, a magnetic field sensing device in the primary portable device 105 is able to detect the presence of one or more of the magnets 226 in the mounting assembly 102. The information received during step 302 can be used by the processor 118 to help determine which electronic device the mounting assembly 102 should communicate with in subsequent processing steps if two or more wireless enabled portable electronic devices (e.g., primary portable device 105 or second electronic device 151) are positioned near the mounting assembly 102. Methods of determining which electronic device the mounting assembly 102 should communicate with is discussed in more detail below.


As noted above, the presence of the primary portable device 105 can be sensed by an element within the sensor 117. In one example, the sensor is used to sense the physical contact of the primary portable device 105 with the mounting surface 221. In this case, a mechanical contact type switch may be used in combination with the magnets 226 and structural element 204 to sense the presence of the primary portable device 105, and also hold the primary portable device 105 against the surface 221. In another example, an accelerometer within the sensor 117 is used to sense the physical contact of the primary portable device 105 with the mounting surface 221. However, in some embodiments of step 302, the elements in the sensor 117 may be configured to simply sense that the primary portable device 105 is in close proximity to the mounting assembly 102. In this case, a reed switch or optical sensor may be used to sense the presence of the primary portable device 105 near the mounting assembly 102.


Next, at step 304, the mounting assembly 102 generates one or more communication signals based on the sensed interaction of the primary portable device 105 and the mounting assembly 102 during step 302. The one or more communication signals are generally broadcast by the mounting assembly 102 using the wireless transceiver 120. The communication signal may be sent to the primary portable device 105 via the outgoing signal 144 (FIG. 1) via the communication link 140. In cases where there are multiple electronic devices within communication range of the mounting assembly 102, the broadcast signal may also be sent to the other devices (e.g., second electronic device 151) via separate communication links (e.g., link 150). As noted above the communication link(s) may be performed via a wired or wireless communication technique (e.g., Bluetooth classic, BTLE).


The signals broadcast during step 304 may contain information about the mounting device, the mounting device's primary control function and other useful information. The primary control function information, or mode of operation information, generally relates to information that is used by the processor in the primary portable device 105 and/or the mounting assembly 102 to help the primary portable device 105 perform some desired activity or desired group of activities. In some cases, the primary control function information, or mode of operation information, may include information about the mounting device, such as a device's Bluetooth device ID information, serial number or other useful information.


In some configurations, the primary control function information can include information relating to the mounting device's local environment and/or its desired primary control function. A device's primary control function, which can be performed by certain software applications running on the primary portable device 105, includes a predetermined mode of operation that the primary portable device 105 is to perform while it is engaged with the mounting assembly 102. The primary control function information provided by the mounting assembly 102 can be used to select certain software applications that are to be run within the primary portable device 105. In some embodiments, the selected software applications are a subset of all of the software applications that are stored in the memory of the primary portable device 105. In one example, the selected software applications allow the primary portable device 105 to be safely used in an automobile environment by only allowing hands-free type software applications to be used. In some embodiments, the primary control function information provided by the mounting assembly 102 is used to select certain communication, audio and/or navigation type software applications that are used while the primary portable device 105 is engaged with the mounting assembly 102. In one example, the communication, audio and navigation software applications may include electronic messaging software (e.g., hands free electronic messaging software), music delivery software (e.g., Spotify®, Pandora®, iTunes®, etc.) and GPS navigation type software (e.g., Waze, Navit, Magellan, Google maps, etc.). In some embodiments, the primary control function information provided by the mounting assembly 102 is used to limit the software applications that can interact with the user, such as limit the applications to only one communication application, one audio application and/or one navigation type software application while the primary portable device 105 is engaged with the mounting assembly 102. In some embodiments, software applications that do not fall within the defined predetermined mode of operation are actively locked-out or prevented from interacting with the user. In some embodiments, the non-selected software applications are actively closed when the primary portable device 105 and the mounting assembly 102 are caused to interact with each other.


The primary control function information provided by the mounting assembly 102 may also contain information that is used to enable or disable certain device features or actions that are performed by the primary portable device 105. The primary control function information may contain information that causes the software applications running on the primary portable device 105 to believe that the mounting assembly 102 is a certain type of device that has capabilities already preprogrammed into the primary portable device 105. In this case, the primary control function information can be used to define the types of input that can be received from the user and/or the modes of interaction that the user can use to interact with the primary portable device 105. In some configurations, the primary control function information is only used by the primary portable device 105 while the primary portable device 105 is engaged with the mounting assembly 102. In one example, the primary control function information contains information that causes the primary portable device 105 to believe that the mounting assembly 102 is a keyboard, thus effectively preventing, or locking out, any other related device capabilities to a user (e.g., touchscreen keyboard is blocked) so that a hands-free type environment can be created. As noted above, in some cases, the primary control function information may include information about the mounting device (e.g., Bluetooth device ID information). In this case, the software applications running on the primary portable device 105 may compare the received primary control function information with information stored in memory to determine what device features or actions are to be performed by the primary portable device 105 based on coded instructions stored in memory.


Other primary control function examples, may include controlling the software running on the primary portable device 105 so that it can act as a baby monitor, a GPS device, a home automation system enabling device or other similar useful application. In some embodiments, the act of controlling the software running on the primary portable device 105 may include launching one or more software applications that are run in the foreground or background of the primary portable device 105 or providing a software application that is used to act as a gateway between other software applications that are running in the foreground or background of the primary portable device 105. In the gateway example, the software application may act as an intermediary that manages all of the incoming data (e.g., text data, phone calls, etc.) and/or outgoing information to meet the primary portable device's desired primary control function. In some cases, the management of the data may include routing the data to one or more software applications and/or altering the incoming or outgoing data, which is used by the processor 118 and software applications to achieve the device's desired primary control function.


In some embodiments, the delivered primary control function information may at least include a device identifier code that contains information relating to the mounting device. The device identifier code information may be used by the software running on the primary portable device 105 to decide what type(s) of controlling software should be run on the primary portable device 105 to perform its desired primary control function. In some configurations, the software running on the primary portable device 105 is used to compare the received identifier code with a table of identifier code information and other related information stored in the memory of the primary portable device 105, so that the primary portable device 105 can adjust its operation to better communicate with the mounting assembly 102 and/or perform its primary control function.


Next, at step 306, the mounting assembly 102 may perform an initial pairing process commonly performed by wireless portable devices to allow them to securely communicate with each other. However, in some embodiments of the process sequence 300, the pairing process may be performed prior to or during steps 302 or 304. In step 306, the mounting assembly 102 and the primary portable device 105 are paired by use of the communication link 140 formed between the wireless transceiver 120 and the processing system 106 of the primary portable device 105. The signals transferred between the mounting assembly 102 and the primary portable device 105 may contain typical Bluetooth® type paring information, such as Bluetooth device identification (ID) information, which may be stored in memory in both the transferring and receiving devices during the paring process.


In some embodiments of step 306, the mounting assembly 102 may perform a scan of all wireless enabled electronic devices that are within communication range, and select an electronic device to pair with based on a predetermined device priority listing saved in the memory unit 122 of the mounting assembly 102. In one example, the priority list saved in the memory unit 122 is organized chronologically, such as prioritized by when each of the scanned devices last paired with the mounting assembly 102. This type of priority listing can allow the electronic device that most recently paired to the mounting assembly 102 to be selected over other resident electronic devices. The priority listing may also be organized by the most frequently used device, the type of device and/or by user input. In one example, a Bluetooth® enabled smartphone may have a higher priority than a Bluetooth® enabled tablet or other similar wireless enabled device.


In cases where there are multiple electronic devices that are within the communication range of the mounting assembly 102, the mounting assembly 102 may or may not select the correct electronic device to connect with during step 306. Thus, there is a need to determine if the mounting device is paired with and is communicating with the correct electronic device. Therefore, at step 308, the electrical components in the mounting assembly 102 and/or electrical components in the primary portable device 105 are used to determine if the correct electronic device is paired with and is communicating with the mounting assembly 102. In general, this step is used to help the mounting assembly 102 and the primary portable device 105 decide which device it should continue to work with to perform at least some of the subsequent parts of the process sequence 300.


Next, during step 308, the mounting assembly 102 and/or the one or more electronic devices determine which of the electronic devices the mounting assembly 102 should communicate with going forward and/or which of the electronic devices should perform a desired primary control function based on the interaction with the mounting assembly 102, as discussed above. FIG. 3B illustrates a method of determining if the correct electronic device is paired with and is communicating with the mounting assembly 102. Initially, at step 308A, the mounting assembly 102 may transmit interaction information that was generated during step 302 to one of the one or more paired electronic devices that it initially believes interacted with it during step 302. Alternately, in step 308A, at least one of the electronic devices that is paired with the mounting assembly 102 may transmit interaction information that was generated during step 302 to the mounting assembly 102.


Next, at step 308B, the interaction information received from the transmitting device is compared with interaction information generated in the receiving device to decide if the correct electronic device is paired with the mounting assembly 102. In one example, the electronic device (e.g., primary portable device 105) sends its generated interaction information to the mounting assembly 102, and the processor in the mounting assembly 102 compares and analyzes the received information with the interaction information that it generated during step 302. Alternately, in another example, the roles of the electronic device and mounting assembly 102 in step 308B may be reversed.


Next, at step 308C, the electronic device that performed the analysis of the interaction information can then make a decision whether the communication between the mounting assembly 102 and the paired electronic device should continue (i.e., the correct electronic devices are paired) and that the electronic device should begin performing some desired primary control function. During step 308C, in one interaction example, if the timing of a detected shock or measured acceleration (e.g., “bump”) of the electronic device is in the same time frame as a detected shock or measured acceleration of the mounting assembly 102, then it is likely that the electronic device is positioned on the mounting assembly 102, and thus it is the device that the mounting assembly 102 is intended to communicate with going forward. In this case, the process sequence 300 will then continue on to step 310.


However, if the generated interaction information does not match, or even if no interaction information exists within the electronic device that was believed to be the one that interacted with the mounting assembly 102, then the processes performed in steps 304 and 306 will need to be completed again until the correct combination of electronic device and mounting assembly 102 are found. As illustrated at step 308D, in some configurations, the mounting assembly 102 initiates the process of pairing and communicating with one or more other electronic devices to determine which of the remaining electronic devices is positioned on the mounting assembly 102. In some embodiments, where the analysis performed during step 308B is performed by the components within the electronic device, the paired electronic device notifies the mounting assembly 102 that it is not the correct device during step 308D. After being notified, the processes performed in steps 304 and/or 306 are completed again with another electronic device before the completion of step 308 again. Alternately, in some embodiments, where the analysis performed during step 308B is performed by the components within the mounting assembly 102, the mounting assembly 102 initiates the processes found in steps 304 and/or 306 and then works with the new electronic device to perform step 308. In general, the processes performed during steps 302-308 may be completed a number of times until the correct combination of mounting assembly 102 and electronic device (i.e., primary portable device 105) are found. Once the correct combination of mounting assembly 102 and electronic device are found, the process sequence 300 will then continue on to step 310.


In an alternate version of the processes performed during step 308, the electrical components in the mounting assembly 102 are used to determine which of the multiple electronic devices the mounting assembly 102 should interact with, provide information to and/or control. In some embodiments, the electrical components may include the processor 118, wireless signal strength comparison device 121 and memory unit 122. In one example, the wireless signal strength comparison device 121 may include components that are able to detect the power level of the signals received from the multiple electronic devices that are within communication range of the mounting assembly 102 using a received signal strength indicator (RSSI) type technique, and determine which signal is the strongest. In general, since the primary portable device 105 is positioned such that it is in close proximity to the mounting assembly 102, the processor 118 will determine that the primary portable device 105 is the closest device based on its relatively high signal strength level. Based on the received signal strength information the processor 118 may decide that the primary portable device 105 is the one that should be communicated with going forward. In general, the wireless signal strength comparison device 121 is configured to deliver the derived information to the processor 118, so that the processor 118 and software application 124 can make decisions regarding which electronic device to control and the type of information that should be transferred in subsequent steps. However, in some embodiments of step 308, the determination of the position of the primary portable device 105 relative to the mounting assembly 102 is determined using RSSI type software running on the primary portable device 105 versus the mounting assembly 102. In this case, the mounting assembly 102 sends out a broadcast signal that is sensed by each of the electronic devices that are within wireless communication range. Each of the electronic devices then use a signal strength analysis technique (e.g., RSSI) to determine the signal strength of the received broadcast signal sent by the mounting assembly 102. Then each electronic device then sends information about the measured signal and information about itself back to the mounting assembly 102. The mounting assembly 102 can then use the information received from each of the electronic devices to determine which electronic device is the primary portable device 105. The processor in the primary portable device 105 can use the received information and compare it with information stored in its memory to help perform one or more subsequent steps. Once the correct combination of mounting assembly 102 and electronic device are found the process sequence 300 will then continue on to step 310.



FIG. 3C illustrates an alternate version of the initiation sequence 301 that is used to configure and control an electronic device. In this process sequence, steps 302 and 304 are performed in a similar manner as discussed above, and are thus not restated here again. In this embodiment, the process continues from step 304 to step 307. At step 307, the mounting assembly 102 may receive one or more communication signals from the multiple electronic devices that are within communication range of the mounting assembly 102. In this step, the electronic components in the mounting assembly 102 will receive an in-coming signal 142 from the primary portable device 105 via the communication link 140 formed between the wireless transceiver 120 and the processing system 106 of the primary portable device 105. The signals received from each electronic device may contain “interaction information” and other useful information about the device (e.g., type of device) and/or software application(s) running on the device. The received signal information is then analyzed in step 308, which is discussed above, to determine which electronic device is positioned on the mounting assembly 102. Therefore, in this alternate version of the initiation sequence 301 the correct electronic device can be determined based on the input received from one or more electronic devices that are in communication with the mounting assembly 102.


II—Operation Sequence Examples


FIG. 3D illustrates a schematic diagram of the movement of information between a primary portable device 105 and a mounting assembly 102 that are interconnected and configured to interact with a user 399 to perform one or more desirable functions during the operation sequence 303 portion of the process sequence 300. The operation sequence 303 is generally performed using the primary portable device 105, which was determined to be the electronic device that the mounting assembly 102 was intended to interact with and communicate with going forward.


At step 310, the processor 118 within the mounting assembly 102 retrieves and delivers information stored in the memory unit 122 to the primary portable device 105. The stored and delivered information will typically include information relating to the mounting device's primary control function and other useful information that enables the primary portable device 105 to provide information to the user and/or perform one or more desirable functions that are useful to the user. In one example, the delivered information includes device identifier code information and/or other primary control function type information.


In some embodiments of the process sequence 300, the mounting assembly 102 may not need to further interact with the primary portable device 105, and thus may move to an idle or low power use mode of operation until the mounting assembly 102 senses the disengagement of the primary portable device 105 from the mounting assembly 102, which is discussed below at step 320.


However, in some embodiments, after performing step 310, step 312 is performed. In step 312, one or more software applications that are running on the primary portable device 105 receive the information provided by the mounting assembly 102 and use the received information to perform some desirable function. In one example, the active software on the primary portable device 105 may cause the primary portable device 105 to only use hands-free type programs if the mounting assembly 102 is positioned in an automobile environment. One will note that the software that is actively running on the primary portable device 105 may have been brought into this state, due to the processes performed in step 304. In other words, the processes performed in step 304 can cause one or more software programs to be “launched,” so that they run in the foreground or background of the primary portable device 105.


In one embodiment of the mounting device 100, one or more software applications may be loaded and stored within the memory 107 of the primary portable device 105, and can be used to facilitate the communication with the mounting assembly 102 and/or control of the primary portable device 105. The loaded software applications may include software applications that run in the foreground or background on the primary portable device 105. In some embodiments, the software may be able to function while a “lock screen” is currently being used on the primary portable device 105.


In some embodiments, during the performance of step 312, data relating to the user interaction with primary portable device 105 may be sent to and stored within the memory unit 122 of the mounting assembly 102. In some applications, the data sent can be used by the processor 118 to control future interactions between the primary portable device 105 and the mounting assembly 102. For example, in the automobile case, the primary portable device 105 may send GPS information or driving habit type information collected by the software running on the primary portable device 105 to the mounting assembly 102. The provided and stored information may then be provided to the primary portable device 105, or a second electronic device that is caused to interact with the mounting assembly 102, at some later time, such as when the primary portable device 105 is caused to re-interact with mounting assembly 102 (e.g., step 302) at a subsequent time.


In an effort to provide a safe and controlled interaction between a user 399 and the primary portable device 105, it is desirable to put in place various control measures that control the flow of information between the user 399 and the primary portable device 105. FIG. 3E illustrate one example of a process sequence 330 that can be performed during at least a portion of step 312 of the process sequence 300. The process sequence 330 can be useful in cases where the primary portable device 105 is used in a situation where the user may not want to be distracted or is not in a desirable position to physically interact with the primary portable device 105. In general, the process sequence 330 is used to control the delivery of information to the user 399 during times when the user is ready to receive a communication from another electronic device (e.g., second electronic device 151). The process sequence 330 is often referred to herein as a “conversation,” due to the transfer for information that is performed between the user 399 and a second electronic device. In one example, process sequence 330 can be used in an automobile, since it controls the delivery of information and thus prevents the driver from being distracted at undesirable times while driving. The processes described herein can be used to enable the hands-free use of the primary portable device 105. However, one will note that the “conversation” mode type methods described herein may also have use in applications where the primary portable device 105 is not disposed on or required to interact with a mounting assembly 102.


In general, the process sequence 330 is performed using one or more software applications that are run on or within the primary portable device 105. The software applications, or programs 109 and 110 (FIG. 1), may include software that is configured to run in the foreground or background on the primary portable devices 105. The software applications may also be run while other software applications are run in the foreground or background of the primary portable device 105. In one example, other software applications running of the primary portable device 105 may include, but are not limited to, electronic messaging programs, GPS applications, e-mail applications or other useful software applications. Electronic messaging programs may include the delivery of messages containing text, emoticons, Mogs, images, video, and/or sound content, which are often known as MMS messages.


Referring to FIG. 3E, at step 332, the primary portable device 105 receives input from the user or from a second electronic device 151. In the user input case, the primary portable device 105 receives physical or non-physical (e.g., audible) input 399B from the user 399. In one example, an input device 396, such as a microphone or touch sensing display element, is able to detect an input from the user 399. In the case where input is received from the second electronic device 151, the primary portable device 105 may deliver a notification during step 333 (e.g., input 399A (FIG. 3D)) of the received input to the user 399. The user may then provide a positive input 335 via input 399B (FIG. 3D) to the primary portable device 105 letting it know that the user intends to interact with the primary portable device 105, and thus continue the conversation. The notification, or input 399A, may be an audible signal and/or visual signal that is generated by and/or displayed on the primary portable device 105.


At step 334, the processor 106B in the processing system 106 (FIG. 1) of the primary portable device 105 initiates a “messaging” timer (time T0) based on the receipt of the input received during step 332. The timing function may be performed by one or more timing devices disposed within the primary portable device 105. In general, the term “timer,” as used herein, is a process that a processor uses to measure, monitor or determine that an amount of time has passed. In some examples, the timer may be a count-down timer, a count-up timer or any other method that allows the processor to determine that an amount of time has passed.


At step 336, the primary portable device 105 receives input from a second electronic device 151 at an input time TI after the timer was initiated (time T0). The received input, as with the input received during step 332, may be delivered to the primary portable device 105 via the communication link 150.


In some embodiments of the process sequence 330, if the user provides an input to the primary portable device 105 before step 336 is performed, the processor in the primary portable device 105 may restart or re-initiate the timer (time T0′) based on the receipt of the additional users input. In this case, the input time TI is generated based on the re-initiated timer (i.e., difference between T0′ and TI) versus the timer initiated during step 334 (i.e., difference between T0 and TI).


In cases where the user does not want to be disturbed or continue the conversation initiated in step 332, the user can provide a “negative” or “conversation ending” input to the primary portable device 105. Therefore, at step 337, the processor within the primary portable device 105 checks to see if a “conversation ending” input has been received from the user 399. The “conversation ending” input can take any discernable form, such as an audible response that contains information that the user does not intend to continue the conversation or some physical interaction information that is provided by the user 399 (e.g., user presses a cancel button displayed on a touch screen, a button on the device is pressed, etc.). The “conversation ending” audible response may be determined by use of voice recognition program running on the portable electronic device that determines that a “conversation ending” command was received. The “conversation ending” input may cause a flag to be set within the software 351 (FIG. 3D), and thus automatically cause the process sequence 300 to subsequently automatically jump to one of the steps within steps 341-350, which are discussed below.


At step 338, the processor within the primary portable device 105 compares the input time TI with a stored input time window TW value so that the processor can decide whether to provide or not provide the received input to the user. In general, the input time window TW is an allotted amount of time that the processor uses to decide, based on user and/or software application defined rules, how it should handle the received information. In one example, if the input time TI exceeds the value of the time window TW, the received input is likely not a part of an on-going conversation, or is considered to be “stale,” so the primary portable device 105 will not deliver the input to the user, as illustrated by following path 338B. In one example, the input time window TW value is set between about 0.5 and about 10 minutes, such as about 2 minutes. In some embodiments, the processor may set a window expiration flag in the software when the input time window TW time has been reached. The window expiration flag may be used by the software to rapidly know that the timer has reached and exceeded the input time window TW. The window expiration flag may cause the process sequence 300 to subsequently automatically jump to step 338 and follow steps 341-350, which are discussed below.


If the input time TI is less or equal to the input time window TW value then, at step 340, the primary portable device 105 may deliver a notification (e.g., input 399A (FIG. 3D)) of the received input to the user 399. In some cases, the decisions whether the input is provided to the user 399 via input 399A is based on the type of data received during step 332. The process may then continue following path 340A to step 334 due to a user generated response to the received input (step 336). If the primary portable device 105 receives another input from at least the second electronic device 151 before the user responds to the input received during step 336, the primary portable device 105 may then perform step 338 by comparing the time that the additional input was received (e.g., time TI′) with the input time window TW so that the appropriate path 338A or 338B can be determined based on the timing of the receipt of this additional input. In some configurations, an input received from the second electronic device 151 is used to re-initiate the timer, extend the length of the input time window TW or cause the timer to pause for a desired period of time to allow related messages to be received by the user and allow the user time to respond to the received message.


However, if the input time TI is greater than the input time window TW value then the process will continue at step 341. At step 341, the processor in the primary portable device 105 initiates an “information hold” timer based on the receipt of a “conversation ending” input received during step 337 or the determination that the time TI is greater than the input time window TW.


At step 343, the primary portable device 105 stores the information received at time TI within the memory unit 107 (FIG. 1). If the primary portable device 105 then receives another input from at least the second electronic device 151, such as an input that is received at a time TII (i.e., step 345), then the primary portable device 105 stores the received information within the memory unit 107 (i.e., performs step 347). In some embodiments, the decision to perform step 347 may be based on re-performing step 338 in which the time TII is compared with the input time window TW value. However, in some cases, the processor may automatically determine that any newly received input will be automatically stored in a memory location, since the input time window TW has elapsed and the user has not provided additional input.


If the primary portable device 105 then receives input from the user 399 at some later time, such as at a time TUI (i.e., step 349), the primary portable device 105 may then initiate the timer by performing step 334 (see path 349A) and the prior inputs that were stored in the memory unit 107 during steps 343 and/or 347 may be delivered to the user 399 at step 350. In some cases, the decisions whether the stored input is provided to the user 399 via input 399A is based on the type of data received during steps 336 and 345. If additional inputs are then received, then steps 338 and step 340 or steps 343-350 may be performed again.


In some embodiments of the process sequence 330, during the performance of one or more of the steps 343-349 the processor within the primary portable device 105 may determine that the information hold timer started in step 341 has reached a desired hold time TH, which may be a constant that is stored in memory. If the hold timer has reached the predetermined hold time TH, the processor may deliver a notification of the input(s) received in steps 343-349 to the user 399. The user may then provide an input (e.g., input 399B (FIG. 3D)) to the primary portable device 105 letting it know whether the user intends to receive the stored input(s) and/or interact with the primary portable device 105. The notification, which may be similar to the notification performed in step 333, may be an audible signal and/or visual signal that is generated by and/or displayed on the primary portable device 105. If the user confirms that he/she wishes to receive the stored inputs the process sequence may then restart at step 332. However, if the user confirms that he/she does not wish to receive the stored inputs, the process sequence may then complete one or more of the steps 341-350 again.


Information Transfer and Control Examples


FIG. 3F illustrates process sequence 360 that is used to control the transfer of information between a user 399 and the primary portable device 105, which is in communication with the second electronic device 151. The process sequence 360 generally includes an external device information control process sequence 360A and a user information control process sequence 360B. While FIG. 3F depicts the process sequence 360A being performed before process sequence 360B, this configuration is not intended to be limiting as to the scope of the disclosure provided herein, since the process sequence 360 may start with step 372 of the process sequence 360B instead of starting with step 362 of the process sequence 360A. In other words, in some cases, the process sequence 360 starts with the primary portable device 105 receiving initial input from the user 399 versus receiving input from a second electronic device 151, or vice versa. In some embodiments, the process sequence 360 may only include the completion of either process sequence 360A or process sequence 360B. In other embodiments, the process sequence 360 may include the completion of process sequence 360A and process sequence 360B multiple times, where either process sequence 360A or 360B need not be performed the same number of times or even one after the other.


In general, the various parts of the process sequence 360 are performed by one or more software applications 351 (FIG. 3D) running within the primary portable device 105 to enhance the user experience and usefulness of the data transferred between the user 399 and/or the second electronic device 151. In some cases, the one or more software applications 351 may form part of at least one of the software applications (e.g., programs 109 or 110), which are discussed above.


In some embodiments, the one or more software applications 351 acts as an intermediary that controls the transfer of information between the user 399 and/or the second electronic device 151, as illustrated in FIG. 3D. In one configuration, the one or more software applications 351 are adapted to receive information from another software application 352 that is running in the foreground or background of the primary portable device 105 and transfer the information to the user 399 using the I/O components 398, speaker 111 and/or display device 112 via the input 399A path. The software application 352 may include a communication program, such as an electronic messaging program (e.g., texting program), an e-mail program, or other useful electronic communication application that is configured to receive information from the second electronic device 151 using the communication link 150 and a transceiver 397. The one or more software applications 351 may also be adapted to direct information received from the user 399 via input 399B and input device 396 to the software application 352, which then retransmits the information to the second electronic device 151 using the transceiver 397. Alternately, the one or more software applications 351 may be adapted to cause information received from the user 399 via the input device 396 to be transferred to the second electronic device 151 via the transceiver 397 without using the software application 352 as an intermediary.


Process Sequence Examples

Referring to FIGS. 3D and 3F, at step 362, the process sequence 360A of the process sequence 360 starts with the primary portable device 105 receiving input from a second electronic device 151. In this configuration, the primary portable device 105 receives information from the second electronic device 151 via the communication link 150 (FIG. 3D). The information received from the second electronic device 151 may include a multimedia message, text message, e-mail or other form of electronic messaging transferred between the electronic devices.


Next, at step 364, the processor and the one or more software applications 351 are used to analyze the information being transferred between the second electronic device 151 and the user 399 to determine whether the transferred information contains some desired attribute or feature. Desired attributes or features of the transferred information may include “application data” about the user of the second electronic device or the primary portable device (e.g., user 399), questions being asked of the user of the primary portable device, information relating to the global position of the user of the second electronic device or the primary portable device, information relating to information stored within the primary portable device 105 or other useful information that may be transferred via electronic means.


In some configurations, the one or more software applications 351 contain an analysis module 351A (FIG. 3D) that is used to parse the information received from various software applications and/or hardware running on the primary portable device 105. In one example, the information that is to be parsed is received from another software application 352 running on the primary portable device 105, incoming data received from the transceiver 397, user information transferred from the input device 396, and/or user information received from a touch display on the primary portable device 105. During the parsing process, the software application performing the analysis may look for certain types of “application data” within the transferred information, such as certain keywords, temporal or alphanumeric information patterns, or other useful information (e.g., GPS coordinates). Once the analysis module 351A has determined that a desired type of application data is within the transferred information, the software application can work with the processor to perform some desired function on the primary portable device. In some configurations, the analysis module 351A determines, based on the received application data, application information, such as a software application, user information, device information or other useful stored information, is to be retrieved from the memory of the primary portable device 105 and then utilized in a desired way. In some configurations, the desirable functions may include a process that supplements at least a portion of the information being transferred between devices or cause other software applications to be launched that allow additional desired tasks to be performed by the primary portable device 105 based on the contents of the information that was received during step 362.


At step 365, in the case where the information that is being analyzed is information that was received from the second electronic device 151, at some point within step 364, at least portion of the information that was received in step 362 is provided to the user via the input 399A path (FIG. 3D). In one example, a text message that is received from the second electronic device 151 may be transferred from an electronic form to an audible form using a text-to-speech type software application. Alternately, the one or more software applications 351 may simply notify the user via input 399A that a text message has been received from the second electronic device 151. In some embodiments, the process may then continue at step 372 of the process sequence 360B. In other embodiments, the process may then continue to steps 367 and 369.


At step 367, the one or more software applications 351 will then transmit an input disposition request to the user that is based on the analysis performed in step 364. The input disposition request is a visual or audible request that is generated and delivered to the user which typically requires some user confirmatory input to cause some subsequent action to be performed by the primary portable device 105. The input disposition request typically asks whether the user would like the primary portable device 105 to perform some additional useful function or task based on the analysis performed in step 364 on the transferred information. In one example, if the analysis module 351A determines that a phone number, or a reference to a phone number, was application data provided in the information sent from the second electronic device 151, the processor and one or more software applications 351 may cause an input disposition request to be sent to the user via input 399A asking him/her if they would like the primary portable device 105 to call the referenced phone number.


Next, at step 369, the user 399 may provide a confirmatory answer to the input disposition request via an input 399B. Depending on the response, or confirmatory answer, the primary portable device 105 may or may not perform the task raised in the input disposition request found in step 367. In one example, if the input disposition request asked the user if they would like the primary portable device 105 to call a phone number, and the user's answer was “yes,” then the primary portable device 105 will initiate a call with the associated phone number. In some embodiments of the process sequence 360, the process may then continue at step 372 within the process sequence 360B.


In some embodiments, at step 370, the process sequence 360 includes the retrieval of information from the memory 107 or from another program running on the primary portable device 105, based on the application data found during step 364, and then the transmission of the retrieved information to the user 399 via the input 399A path. The retrieved information may include information relating to a communication application, contact information, pictures or other useful information. Step 370 may also include the process of causing one or more software applications stored in memory to be launched based on the application data found during step 364. The launched software application(s) may provide some desirable information to the user or perform some desirable function for the user.


However, in a first alternate version of the process sequence 360, after performing step 364 the process sequence then continues on to steps 366, 368 and 371. In this case, during step 366, the one or more software applications 351 then transmit an input disposition request to the user that asks the user 399 whether he/she would like to receive the information received during step 362. Then, during step 368, the user provides a response regarding whether or whether not he/she would like to receive the information delivered during step 362. If the answer is “yes”, then the process then continues on to step 371, where at least portion of the information that was received during step 362 is provided to the user 399 via the input 399A path. In some embodiments, information that was received from the second electronic device 151 is converted by the one or more software applications 351 into an audio file or is displayed on a displaying element on the primary portable device 105 that is then delivered to the user 399. In other embodiments of the process sequence 360, the process may then continue on to steps 367 and 369, which are discussed above. In some embodiments of the process sequence 360, the process may then continue to step 372 of process sequence 360B.


In some embodiments, step 371 may also include the process of retrieving information from the memory or another program running on the primary portable device 105 based on the application data found during step 364 and then transmitting the retrieved information to the user 399 via the input 399A path. In some embodiments, step 371 may also include the process of causing one or more software applications stored in memory to be launched based on the application data found during step 364. The launched software application(s) may provide some desirable information to the user or perform some desirable function for the user.


At step 372, which is the initial step in the process sequence 360B, the primary portable device 105 receives input from the user 399. In this case, the primary portable device 105 receives physical or non-physical (e.g., audible) input 399B from the user 399.


Next, at step 374, the processor and the one or more software applications 351 are used to analyze the information being transferred between the user 399 and the second electronic device 151 to determine whether the transferred information contains application data, as discussed above in step 364. As similarly discussed above, an analysis module 351A (FIG. 3D) can be used to parse the received information to determine if the received information contains certain types of application data, such as keywords, temporal or alphanumeric information patterns, or other useful information so that the analysis module 351A can work with the processor to cause some desired function to be performed. The desirable functions may include a process that supplements at least a portion of the information being transferred or cause other software applications to be launched that allow additional desired tasks to be performed by the primary portable device 105 based on the contents of the information that is being transferred between the user 399 and the second electronic device 151.


Next, during step 376, the one or more software applications 351 then transmit an input disposition request to the user that is based on the analysis performed in step 374. As similarly discussed above, the input disposition request may be a visual or audible request that determines whether the user would like the primary portable device 105 to perform some additional useful function or task based on the analysis performed on the input received from the analysis of the information received from the user. Additionally, the analysis module 351A may determine that the information provided by the user in step 372 is referencing some useful data stored within the primary portable device 105 or some other desired process that can be performed by the primary portable device 105 or the second electronic device 151. In this case, the one or more software applications 351 may add additional data to the information that was received during step 372, so that the additional data can be provided to the second electronic device 151 during step 379, which is discussed below. The additional data may include information relating to the electronic device, audio files, pictures, the user's personal information (e.g., phone number), the user's current environment (e.g., time, position), information stored in the primary portable device 105 or other useful information. In one example, the analysis module 351A determines that the user has referenced his/hers current GPS location, and thus the processor and one or more software applications 351 may cause an input disposition request to be sent to the user asking him/her if they would like the primary portable device 105 to provide the user's GPS position within the information that is to be transferred during step 379.


In some embodiments, during step 376, the one or more software applications 351 are configured to enable some additional functionality of the primary portable device 105, such as launch one or more software applications, based on the analysis performed during step 374. The one or more software applications 351 may transmit an input disposition request and/or launch one or more software applications based on the analysis performed during step 374. In one example, based on the analysis performed during step 374, the one or more software applications 351 determine that the provided application data included a reference to or instructions to open a dialing program, texting program, GPS program, or other useful program, and thus the one or more software applications 351 then make this functionality available to the user.


Then, during step 378, the user provides a response regarding whether or whether not he/she would like the portable electronic device 105 to perform some useful function as similarly discussed above in conjunction with steps 368 or 369. In one example, if the input disposition request asked the user if they would like the primary portable device 105 to provide their GPS location, and the user's answer was “yes,” then the primary portable device 105 will supplement or augment the information received in step 372 with this additional data (e.g., link to GPS sharing site, actual GPS coordinates, etc.).


Next, at step 379, at least a portion of the information that was received during step 372 and augmented during step 378 is transferred to the second electronic device 151 via the communication link 150. In some embodiments, audible information that was received from the user 399 during step 372 is converted, using the one or more software applications 351, into an alphanumeric text file (e.g., SMS text file, MMS file) or an audio file that is then delivered to the second electronic device 151 via the communication link 150. However, in some embodiments, audible information that was received from the user 399 during step 372 is converted into an alphanumeric containing text file (e.g., SMS text file) and an audio file, which are then both delivered to the second electronic device 151 via the communication link 150. Transferring both the alphanumeric containing text file and an audio file can be useful since it provides the second electronic device 151 with multiple ways to deliver the transferred information from the second electronic device 151 to an alternate user. Also, delivering both the alphanumeric containing text file and an audio file can be used to reduce the risk that the transferred information will be received in a non-useable state at the second electronic device 151 due to data corruption during the data transfer process.


In some embodiments, step 379 may also include the process of retrieving information from the memory of the primary portable device 105 based on the application data found during step 374 and then transmitting the retrieved information to the second electronic device 151. In some embodiments, step 379 may also include the process of causing one or more software applications stored in memory of the second electronic device 151 to be launched based on the application data found during step 374. The launched software application(s) may provide some desirable information to or perform some desirable function for the user of the second electronic device 151. In one example, the launched software application is configured to convert the received information to audio information that is delivered to the user.


In some embodiments of the process sequence 360, the process may start over again at step 362 after subsequent information is received from the second electronic device 151. The decision as to how the primary portable device 105 will handle the receipt of the new information from the second electronic device 151 may be governed by the process sequence 330, which is described above.


In some embodiments of the process sequence 360, one or more of the “transmit information to user” steps, such as steps 365, 370 or 371, or “transmit information to the second electronic device” steps, such as step 379, may include a “confirmation window” that allows the user a set period of time to provide input that will halt or alter the transmission of information before it is transmitted to the desired device. During these transmit information steps, the processor within the primary portable device 105 starts a timer once the transmit information step has been reached in the process sequence and holds the transmission of the information until a confirmation window time limit has been reached. In some configurations, the user can simply halt or alter the transmission of information by providing audible or touch type information to the primary portable device 105 before the confirmation window time limit has been reached by the timer. The “confirmation window” thus allows the user a set period of time to correct or halt the transmission of information that he/she does not want to be sent. In general, the confirmation window time limit can be set by the user, device manufacturer and/or by software application defined rules. In one example, the confirmation window time limit value is set to a value between about 1 second and about 1 minute, such as about 3 seconds.


Additional Device Control Processes and Examples

The mounting device 100 and its associated computer implemented methods described herein may further provide an improved way of controlling and/or optimizing the interaction between a portable electronic device 105 and a user. As noted above, in some embodiment, the mounting device 100 is configured to use information gained from the interaction of a primary portable device 105 with the mounting assembly 102 to control or constructively limit the activities subsequently performed by the primary portable device 105. FIG. 3G illustrates process sequence 380 that includes a series of method steps 381-386 that can be used to control the transfer of different types of information between a user and the primary portable device 105. The process sequence 380 generally includes a process sequence which is similar to the information control process sequence 360B that is described above.


At step 381, an initiation sequence is performed between the portable electronic device 105 and the mounting assembly 102 based on the interaction of the primary portable device 105 with the mounting assembly 102. The initiation sequence generally includes the processes described above in conjunction with the initiation sequence 301 and portions of the operation sequence 303. In one embodiment, the initiation sequence includes the steps 302-308 and step 310, such that the primary portable device 105 can transfer information or begin to perform one or more desirable functions that are useful to the user after the initiation sequence has been performed.


In some embodiments, after one or more of the initiation sequence steps have been performed, one or more software applications running in the foreground or background of the primary portable device 105 or mounting assembly 102 are caused to continually, or regularly, use one or more sensors, or sensing devices, on or within the primary portable device 105 or mounting assembly 102 to detect input generated by a user. The process of continually, or regularly, detecting input generated by the user may occur during or after the initiation sequence 301 has been performed. In this case, by causing the primary portable device 105 to interact with the mounting assembly 102, the one or more sensors, processor and one or more software applications running on the primary portable device 105 or mounting assembly 102 are utilized to immediately detect the user's input so that the desired primary control function, which is discussed above, can be advantageously performed by the primary portable device 105 in a subsequent process step. In one example, the one or more software applications running on the primary portable device 105 are configured to continually, or regularly, sense whether a user's input has been received by one or more of the input receiving devices 104 once step 308 has been completed. In another example, software application(s) running on the mounting assembly 102 are configured to continually, or regularly, sense whether a user's input has been received by one or more of the input sensors 114 once step 308 has been completed.


At step 382, the primary portable device 105 receives input from the user. During this step, a sensor within the primary portable device 105 or mounting assembly 102 receives physical and/or non-physical (e.g., audible) input 399B from the user 399. In general, irrespective of the state of the primary portable device 105 or mounting assembly 102, such as an active state or low power state, the processor and sensor are configured to detect the input generated by the user. In some cases, the one or more software applications running in the foreground or background of the primary portable device 105 or mounting assembly 102 detect the user's input while other software and/or hardware components running on the primary portable device 105 and/or mounting assembly 102 have gone into a “locked” state or even a low power state. The low power states of the primary portable device 105, or mounting assembly 102, may include a sleep state, an idle state, a state in which the display is off, or other similar state where at least some of the software or hardware components in the device are not being utilized to conserve power. In some embodiments, the one or more software applications running in the foreground or background may cause one or more of the other hardware and/or software components (e.g., non-primary control function related software applications) that are in a low power state to “wake” and/or start to perform a desired function, such as display information on a screen or start processing information that has been received.


Next, at step 383, the processor and the one or more software applications (e.g., software application 351) are used to analyze information received from the user 399 to determine whether the received information contains certain types of application data, such as device control information. In some embodiments, the analysis module 351A (FIG. 3D) can be used to parse the received user information to determine if the received information contains device control information that may include device control commands, contextual device control information, or other useful information so that the processor can cause some desired function to be performed. As similarly discussed above, the analysis module 351A may work with the processor to cause the desired function to be performed. The desirable functions may include a process that causes a desired task to be performed by the primary portable device 105 based on the contents of the received user input and the device's primary control function.


In some embodiments, such as a case where the user's input has been received by one or more of the input sensors 114 of the mounting assembly 102, the processor 118 and its associated software applications can be used to parse the received user information to determine if the received information contains device control commands, contextual device control information, or other useful information. In this case, the components within the mounting assembly 102 can then communicate with the primary portable device 105 via the communication link 140 to cause one or more software applications running on the primary portable device 105 to perform some desired primary control function based on the parsed information received from the user by the mounting assembly components.


The processes performed during step 383 may include an analysis of the received user input information (e.g., step 383A) and a comparison step (e.g., step 383B). In step 383A, the analysis performed on the information received from the user includes determining if one or more device control commands, contextual device control information, and other useful information are contained within the received user input. The analysis process will generally include the use of a software application that is running in the foreground or background, which is able to parse the received user information to determine if the received information includes data that has been specifically selected or flagged as being either a device control command or contextual device control information.


Once the software has determined that a user input has been received and the analysis process is being performed, the software application may then compare one or more parts of the received user information with a list of the specific device control commands and a list of contextual device control information that are stored in memory, as illustrated in step 383B in FIG. 3G. In one example, specific device control commands within the device control command list may include the command phrases “send”, “call”, or “find” which are associated with a task of sending a text message, making a call on the phone, or finding information within or external to the portable electronic device 105, respectively. In one example, contextual device control information within the device control information list may include a person's name found in a personal contacts list stored in memory, or an attribute of a physical place (e.g., “home”) that can be used to help narrow down or refine the type of task that is to be performed within the primary control function being performed by the software application running on the primary portable device 105. The comparison step 383B may thus include the retrieval of at least some portion of the information found in the command device control command list and/or the contextual device control information list from memory and then comparing the retrieved information with the parsed user input performed during step 383A.


In general, device control commands include information that lets the primary portable device 105 or mounting assembly 102 know what task or activity the user desires to perform. A device control command may include a command that causes some task to be performed within the scope of the desired primary control function being performed by software application(s) running on the primary portable device 105. In some configurations, the detection of a device control command will cause a second software application, which may be different from the software application that is performing the analysis in steps 383 and 384, to initiate a desired task based on the device control command that is found within the received user input and in the device control command list stored in memory. For example, the device control command may include a command that causes an electronic messaging program (e.g., texting program) to open, send or receive a text, SMS, EMS or other types of messages, initiate or receive a phone call, share the user's location, play or stop music, adjust one or more audio settings (e.g., EQ settings, cross-over settings), utilize one or more navigation programs, or other desired function(s) that fall within the device's primary control function.


In general, contextual device control information includes data that can be used to refine a task or activity that is to be performed based on a received device control command. Contextual device control information may include information that is used to specify what task, how a task, with whom a task or when a task is to be performed. For example, a device control command may include a command that causes a texting program to open, and the received contextual device control information may be used by the texting program to decide who the text message is intended to go to when the text message is sent. One will note that the body of the text message in this example may be derived from the “other useful information” (e.g., non-device control information) received from the user during step 382. The one or more software applications running within the primary portable device 105 thus may utilize a device control command and contextual device control information to perform a desired activity in a desired way.


Next, at step 384, the a software application running on the primary portable device 105 is used to analyze the device control commands, contextual device control information, and other useful information identified during step 383 to determine the desired tasks that are to be performed by the primary portable device 105 based on the received user input and the primary portable device's defined primary control function. The processes performed during step 384 may include an optional data comparison step (e.g., step 384A) and determine a preferred output step (e.g., step 384B) that is performed by the software application. In step 384A, the device control commands and contextual device control information determined in step 383 is compared with external data 385 to determine if the device control commands and contextual device control information need to be further refined to better determine the desired primary control function activities that are to be performed. The external data may be requested and/or collected by the software application based on a request generated from the analysis of the device control information, such as the determined contextual device control information. Therefore, by use of coded rules created within a software application, the external data can be selected and then analyzed in combination with the information identified during step 383 to alter the tasks being performed by the software application and/or generate an output to the user (e.g., input 399A).


External data 385 generally includes data that is generated or received from one or more software applications, sensors and/or other devices (e.g., second electronic device 151) which relate to some part of the primary control function being performed on the primary portable device 105. External data 385 may include motion related information, general internet or website data, software application generated data, and other useful data that can be used to further the activities performed within the device's primary control function. The motion related information may include GPS coordinates, direction of movement information, velocity information or acceleration information provided by various software and hardware components found within the primary portable device 105 or mounting assembly 102, which is derived from past or current position and motion information. General internet or website data may include data collected by one or more software programs running on the primary portable device 105, or mounting assembly 102, by use of a communication link that connects the device to the internet. General internet or website data may include information that relates to a business (e.g., hours, cuisine, rating, reservation status), the current weather at a desired location, or other useful data that can be collected from the internet. Software application generated data may include data that can be collected from other software applications (e.g., back-end information) that are running on the primary portable device 105 or mounting assembly 102, such as data that can be collected from a business enabling software application, such as gas station type applications, coffee shop type applications, weather type applications, or other useful business related software applications.


Next, at step 384B, the software application analyzes the information identified during step 383, and optionally the information generated during step 384A, to determine the desired output that is to be performed based on the user input received during step 382 and the primary control function that is to be performed. The desired output, which may be provided to a user or second electronic device during step 386, may include processed information that is received by and/or generated by a software application, such as information received from an electronic messaging program, music playing program, navigation program, internet connected program and/or phone related program. In some embodiments, unlike conventional applications today, the methods described herein can be performed without the need for further input from the user after the initial user input has been received during step 382 to perform some task. In one example, information that was received from the user 399 during step 382 is converted, using the one or more software applications, into an alphanumeric text file (e.g., SMS text file, MMS file) or an audio file that can then be delivered to the user or second electronic device 151 via the communication link 150 all in one step.


In some embodiments, at step 386, the process sequence 380 includes the delivery of the desired output to the user from the primary portable device 105, or to the second electronic device 151 from the primary portable device 105. The desired output that is provided from the primary portable device 105 may include the delivery of any form useful information, such as sending a text message, generating an audio signal that includes information relating to the user input received during step 382 (e.g., information about a question raised about a business), receiving audio information from a software application running on the primary portable device 105 (e.g., music played from a music program), or other useful information based on the processes performed in step 384. The processes performed during step 386 may include the retrieval of information from memory 107 or from another program running on the primary portable device 105, based on the information generated or collected during steps 381-384 and software coded rules/instructions, and then the transmission of the information to the user 399 via the input 399A path or transfer of information to the second electronic device 151 via the communication link 150. The transferred information may include information found within or derived from the device control commands, contextual device control information, and other useful information. The device control commands, contextual device control information, and other useful information may include at least portions of the input received during step 382. Step 386 may also include the process of causing one or more software applications stored in memory to be launched or initiate a desired task, based on the application data and information identified or generated during steps 382-384. The launched software application(s) may provide some desirable information to the user or perform some desirable function for the user.


However, in cases where the software application is unable to determine the desired activities that are to be performed or other software applications that are to be launched, the software application may use “prior use” information that is stored in memory to decide how to proceed forward and perform a desired activity or task based on the received device control command. The “prior use” information stored in memory may contain data regarding the last activity that was performed or last software program that was run on the primary portable device 105. In some cases where the software application is unable to determine the desired activities that are to be performed or software applications that are to be launched, a default activity or software application may be used to proceed forward and perform a desired activity or task based on the received user input.


In some embodiments, the desired output information that is transferred from the primary portable device 105 during step 386 is derived from the received external data 385 and the analysis performed during step 384. In one example, when the primary portable device 105 and mounting device components are positioned within an automobile that is moving along a highway, the navigation software may provide information to the processor and software application that relates to the motion of the primary portable device 105 (e.g., speed, direction of travel, GPS coordinates). In this example, if the user input provided during step 382 includes instructions to use the navigation software to find the nearest point-of-interest (e.g., gas station), the software application will use the provided information to determine a preferred point-of-interest given the motion information provided in the external data, the received device control commands, received contextual device control information, and non-device control information identified during step 383. In some cases, the software application will make decisions regarding what the desired output should be based on the analysis of at least the external data and contextual device control information so that a preferred output can be delivered to the user. In the example above, the software application may not select and notify the user of the closest point-of interest, but the one that will allow the user to safely change their speed and/or direction to safely reach a desired destination given their current heading and velocity data supplied in the received external data.


In some embodiments of the process sequence 380, the process may start over again at step 382 after subsequent user input has been received or information has been received from the second electronic device 151. The decision as to how the primary portable device 105 will handle the receipt of the new information from the second electronic device 151 may be governed by the process sequence 330, which is described above.


The user input received during step 382 and analyzed during steps 383-384 may include one or more non-physical (e.g., audible) inputs that are detected by a sensor (e.g., microphone) disposed on or within the primary portable device 105 or mounting assembly 102. In some cases, the non-physical input includes one or more audible inputs generated by a user. In some embodiments, the one or more audible inputs include a series of sounds that include one or more device control commands, contextual device control information and/or other useful information. In one example, the user input may include a phrase: “Find the nearest restaurant that is open”, which after performing the analysis step 383A and comparison step 383B, the one or more software applications determine that the device control command includes “finding”, which is functionally linked in the software application to the use of a navigation program or internet searching program, and the contextual device control information includes the words “nearest”, “restaurant” and “open” which can then be used by the activated navigation program and/or internet searching program to provide input to the user relating to closest restaurant that is open for business. After completing steps 383-384, the input 399A provided to the user during step 386 may include displaying information on a display screen of the primary portable device 105 or sending an audible signal to the user relating to the analysis performed in step 383. In this case, an audio signal may be provided to the user stating that “a Japanese restaurant that is half a mile away is open.” The user may then provide more user input by supplying a hand gesture or asking the software application to provide driving directions. The newly received input will cause the process sequence 380 to start over again at step 382, which will then allow the new driving direction information to be delivered to the user after steps 383-386 have been performed. In another example, the user input may include a phrase: “Send Alex a message that I will be home at 5 pm”, which causes the software applications to determine that the device control command includes the phrase “send”, which are functionally linked to the use of a texting program in the software code. The contextual device control information, in this example, may include the words “message” and “Alex,” and the other useful information includes “I will be home at 5 pm” that is all used by the texting program to send Alex (e.g., person found in the contacts data stored in memory of the primary portable device) the text message that “I will be home at 5 pm.”


In some embodiments, the user input received during step 382 and analyzed during step 383-384 may include physical interaction inputs (e.g., non-audible inputs) that are detected by a sensor disposed on or within the primary portable device 105 or mounting assembly 102. In some cases, the physical interaction inputs received from the user may include one or more hand gestures and/or other movement related input from a user's appendage, body or face. In some embodiments, the user input includes a series of motions that include device control commands, contextual device control information and other useful information. In some embodiments, the order and/or type of motion detected by the primary portable device 105 or mounting assembly 102 may determine which part of the user input is related to a device control command, contextual device control information or the other useful information. Examples of gestures and gesture sequences are discussed further below in conjunction with FIG. 8.


In some embodiments, the user input received during step 382 and analyzed during step 383-384 may include one or more non-physical (e.g., audible) inputs and one or more physical interaction inputs (e.g., non-audible inputs) that can be received in any order and are detected by one or more sensors disposed on or within the primary portable device 105 or mounting assembly 102. In some cases, a physical interaction input is received from the user first, and then one or more non-physical (e.g., audible) inputs are subsequently provided by the user. In one example, a hand gesture is used to “wake” the primary portable device 105 or mounting assembly 102 and then one or more audible inputs that further include device control commands, contextual device control information and/or other useful information is provided. In this example, the initial physical interaction input may include device control commands and/or contextual device control information based on the way the input is presented to a sensor on the primary portable device 105 or mounting assembly 102, which then causes a desired task to be performed (e.g., display information on a screen) or other software application to be opened and/or loaded into memory. The subsequent audible inputs may further include device control commands, contextual device control information and/or other useful information so that other tasks can be performed by the primary portable device 105.


One will note that the device control command, contextual device control information and/or other useful information in any of the examples described herein can be received in any order within the provided user input (e.g., input 399B), since the software application running in the foreground or background is able to parse the information embedded within the user input based on a comparison with the information and coded rules stored in memory. In one example, which is an alternate version of the example provided above, a user input may include a phrase: “Alex, I will be home at 5 pm. Send message”, which causes the software applications to send Alex a text message that includes the phrase “I will be home at 5 pm.”


III—Termination Sequence Examples

Referring back to FIG. 3A, after the primary portable device 105 has performed its desired task the user may then wish to disengage the primary portable device 105 from the mounting assembly 102. One will note that the terms “engagement” and “disengagement,” as used herein, are not intended to require a physical interaction of the primary portable device 105 and the mounting assembly 102, and in some cases may only require the wireless communication link be created or terminated, or simply signify the beginning or end of the ability of the sensor 117 to sense the position of primary portable device 105 relative to the mounting assembly 102. Thus, in some embodiments of the process sequence 300, during step 320, the sensor 117 and processor 118 are used to sense the removal of the primary portable device 105 from a position proximate to the mounting assembly 102. In some cases, by sensing the termination of the communication link 140 or by receiving notification from the sensor 117, the processor 118 is able to sense the disengagement of the primary portable device 105 from the mounting assembly 102. Similarly, the primary portable device 105 may sense the disengagement by sensing the termination of the communication link 140 or by receiving of a separate broadcast signal that is sent from the mounting assembly 102 after the mounting assembly 102 has sensed the disengagement of the two components from each other.


Next, at step 322, after the sensor 117 has determined that the primary portable device 105 has been disengaged from the mounting assembly 102, one or more processes running on the primary portable device 105 and/or the mounting assembly 102 are terminated. The termination of the communication link 140 or receipt of the ending broadcast signal by the primary portable device 105, which is completed during step 320, can then be used to cause the software running within the primary portable device 105 and the mounting assembly 102 to be terminated. The process of terminating the software running on the primary portable device 105 and the mounting assembly 102 can save the battery life of both devices, and cause the device controlling programs running on the primary portable device 105 to relinquish control over portions of the software running therein. In some applications, the relinquishment of control can be important to allow the primary portable device 105 to once again function normally, such as allow the primary portable device 105 to go from a safety restrictive type hands-free mode of operation to a normal mode of operation. In some embodiments, software applications that did not fall within the predetermined mode of operation are then allowed to once again interact with the user.


In some embodiments of step 322, the primary portable device 105 may send data to the mounting assembly 102, which can be stored in the memory unit 122 and used by the mounting assembly 102 to control future interactions between the primary portable device 105 and the mounting assembly 102. In some embodiments, the information sent to the mounting assembly 102 may also be also stored in the memory of the primary portable device 105 for future use. The information sent to the mounting assembly 102 and/or stored in the primary portable device 105, may include current time stamp information, GPS location information, user's driving habit information, information about the user, or other useful information.


Alternately, in some embodiments of the process sequence 300, the mounting assembly 102 may not need to perform step 302, in which it senses the presence of the primary portable device 105, since a remote switch 190 (FIG. 1) can be used to send a triggering signal to the mounting assembly 102. The delivery of the triggering signal is used to let the mounting assembly 102 know that the primary portable device 105 is positioned proximate to the mounting assembly 102. In this case, the user can manually deliver input to a sensor 191 (e.g., mechanical switch) in the remote switch 190, which is then received and transferred by a wired or wireless transmitter formed in the processing system 192 to the mounting assembly 102 via a communication link 160. The received user input can then be used to replace a sensed engagement signal created during step 302, and thus allow the one or more steps 304-322 to then be performed. Similarly, in some embodiments of the process sequence 300, the mounting assembly 102 may not need to perform step 320, in which it senses the disengagement of the primary portable device 105 from the mounting assembly 102. In this case, user input provided from the remote switch 190 can be used to send a disengagement signal to the mounting assembly 102, letting the mounting assembly 102 know that the primary portable device 105 has been removed from the mounting assembly 102. In some configurations, the remote switch 190 may simply contain the sensor 191 and processing system 192. The processing system 192 may include a wireless transceiver (not shown), battery (not shown) and various I/O components that are used to at least deliver user input to the mounting assembly 102 via one-way or two-way communication.


Mounting Device System Configuration Examples


FIG. 4A schematically illustrates a mounting device 100 that is configured to use attributes of the mounting region 219 of the mounting device 100 to determine the orientation of the primary portable device 105 relative to the mounting region 219. The information relating to the determined orientation of the primary portable device 105 can be delivered to the primary portable device 105 so that the software running on the primary portable device 105 can use the orientation information to alter or provide input to the one or more software applications that are running on the primary portable device 105. In some embodiments, the mounting assembly 102 of the mounting device 100 may further include a second sensor 410 that is used in combination with the sensor 117 to determine the orientation of the primary portable device 105. In some embodiments, the sensor 410 may include the same or similar components used to the sensor 117 that is discussed above. In one example, if the primary portable device 105 is a smart-phone the detection of the orientation may include determining if the smart-phone is in a portrait (e.g., vertically oriented) or landscape orientation (e.g., horizontally oriented) relative to the surface 221.


In some configurations, as shown in FIG. 4B, the structural element 204 disposed on the rear surface 212 of the primary portable device 105 contains a region 405 that is positioned and oriented so that the relative positions of the sensors 117 and 410 can be used to determine the orientation of the primary portable device 105 when the mounting region 203 is brought into contact with surface 221. The rear surface 212 of the primary portable device 105 is typically opposite to a front surface 211. In one example, the region 405 may include magnetic materials that are adapted to be sensed by the sensor 410 when the primary portable device 105 is oriented in a first orientation and not to be sensed when the primary portable device 105 is oriented in a second orientation (e.g., rotated 90 degrees from the first orientation relative to the surface 221). In another example, the region 405 may have a different optical characteristic than the other portions of the structural element 204 or rear surface 212 of the primary portable device 105, thus allowing the sensor 410 to determine the orientation of the primary portable device 105 depending on whether the optical sensor in the sensor can view the region 405 in a certain orientation. The sensors 410 and 117 may also use the force F created between the primary portable device 105 and the mounting assembly 102 to determine the orientation of the components.


However, in some configurations, the orientation of the primary portable device 105 relative to the mounting region 219 is determined by use of position or orientation determining elements (e.g., gyroscope or GPS type elements) provided within the primary portable device 105. In this case, the orientation of the primary portable device 105 can be determined and sent to the control software running on the primary portable device 105 from the position or orientation determining elements in the primary portable device 105. The received information can then be used to alter or provide input to the one or more software applications that are running on the primary portable device 105 to perform some alternate or other useful function.


In one example, as illustrated in FIGS. 5A-5C, when a primary portable device 105 is disposed in a first orientation, while in an automobile environment 500, a desired automobile related primary control function is performed by the software applications running on the primary portable device 105. When the primary portable device 105 is disposed in a second orientation (FIG. 5D), a different type of primary control function is performed by the software applications running on the primary portable device 105. In some embodiments, the mounting assembly 102 is configured to communicate with a Bluetooth system in the automobile or other similar automobile mounted device via a communication link 515. In one example, the mounting device is configured to communicate with an audio device 520 that is disposed in the automobile environment 500. By use of the communication link 515, the mounting assembly 102 is then able to exchange information with electronics in the automobile and the primary portable device 105 so that desired primary control functions can be selected and performed by the primary portable device 105. FIG. 5B is a side cross-sectional view of a primary portable device 105 that is disposed on and supported by a mounting assembly 102, which is coupled to a louver 501 of an air vent of an automobile. FIG. 5C is an isometric view of a primary portable device 105 that is configured to perform a first primary control function while it is disposed in a first orientation in the automobile environment 500. In one example, the primary portable device 105 is configured to perform audio playback, hands-free texting or phone type software applications while it is disposed in the first orientation. FIG. 5D is an isometric view of a primary portable device 105 that is performing a second primary control function while it is disposed in a second orientation in the automobile environment 500. In one example, the primary portable device 105 is configured to perform navigation type software applications while it is disposed in the second orientation using software running on the primary portable device 105.


In some embodiments, as illustrated in FIG. 6A, a primary portable device 105 may be caused to interact with a mounting assembly 102 that forms part of docking station 600. In some cases, the docking station 600 may include elements that form part of a clock radio, a wireless charging station, a wireless speaker system and/or any other useful consumer electronic elements. FIG. 6B is an isometric view of the docking station 600 that includes a base 601, speaker 610, wireless charging system 620, an optional auxiliary LCD display 630 and other electrical components (not shown) that allow the docking station 600 to perform some useful consumer electronics type function. The base 601 and mounting assembly 102 may be integrated together so that the surface 602 of the mounting assembly 102 and base 601 can support a primary portable device 105, as shown in FIGS. 6A and 6C. The docking station 600 may further include a processor (not shown) coupled to input/output (I/O) devices (not shown), a power source (not shown) and a memory unit (not shown). Memory unit in the docking station 600 may include one or more software applications and stored media data. Processor may be a hardware unit or combination of hardware units capable of executing software applications and processing data that at least helps enable the mounting assembly 102 to cause the primary portable device 105 to perform its desired primary control function. The docking station 600 may also be battery powered or powered by a standard wall plug.


The docking station 600 may include a speaker 610, which may be similar to the media output device 180 discussed above. The speaker 610 may be adapted to pair and communicate with the primary portable device 105 via a communication link 615, which may be similar to the communication link 170 discussed above. In one example, as shown in FIG. 6C, while the primary portable device 105 is disposed in a first orientation on the mounting assembly 102 it is configured to perform audio playback using a formed wireless connection to the speaker 610 disposed in the base 601. However, when the primary portable device 105 is disposed in a second orientation relative to the docking station 600, as shown in FIG. 6A, the primary portable device 105 is configured to perform a second primary control function, such as use an internet communication enabling or business software application enabling programs.


In another example, as illustrated in FIG. 6D, the primary portable device 105 may be a tablet type device that is positioned on the docking station 600. In this configuration the primary portable device 105 may be easily configured and adapted to perform certain multimedia, video playback, e-book, and/or internet surfing type applications based the interaction of and information transferred between the primary portable device 105 with the mounting assembly 102.


In some embodiments, the docking station 600 may include a wireless charging system 620 and the mounting assembly 102 includes components that allow the battery elements in the mounting assembly 102 to be charged by use of the wireless charging system 620. In one embodiment, the wireless charging system 620 is configured to charge the batteries in the mounting assembly 102 and/or the batteries primary portable device 105. In some configurations, the interaction (e.g., energy transfer) of the wireless charging system 620 with either the mounting assembly 102 or the primary portable device 105 causes the mounting assembly 102 to perform one or more of the steps in the process sequence 300, such as steps 304 or 310 and then any desired subsequent steps as discussed above. In one example, the interaction of the wireless charging system 620 with the mounting assembly 102 causes the mounting assembly 102 to generate one or more communication signals based on the sensed interaction of the wireless charging system 620 with the mounting assembly 102. In the case where the wireless charging system 620 is used to charge the primary portable device 105, a wireless triggering signal generated by the software and hardware running on the primary portable device 105 may be delivered to the mounting assembly 102, due to the initiation of the process of charging the batteries in the primary portable device 105 by the wireless charging system 620. The triggering signal may replace the processes performed during step 302 and/or be a precursor to the start of the process sequence 300, which are discussed above.


In some embodiments, the primary portable device 105 may be adapted to perform home automation or other useful residential or business applications based on the interaction of the primary portable device 105 with a desirably configured mounting assembly 102. FIG. 7 illustrates a primary portable device 105 that is positioned on a mounting assembly 102 that is disposed on a wall 710 of house 700. In this example, the primary portable device 105 is reconfigured, by the interaction of the primary portable device 105 with the mounting assembly 102, to perform a desired primary control function. In one example, the mounting assembly 102 is configured to provide home automation type primary control function information to the primary portable device 105. In this example, the primary portable device 105 may be adapted to interact with various electronic components, such as a video providing component 720 (e.g., cable box, television) or alarm system 730, based on user input and software launched by the interaction of the primary portable device 105 with the mounting assembly 102. The interaction of the primary portable device 105 with the various components may be performed by use of one or more wireless communication links 715, 716.


One embodiment of the disclosure may be implemented as a program product for use with a computer system. The program(s) of the program product define functions of the embodiments (including the methods described herein) and can be contained on a variety of computer-readable storage media. Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive, flash memory, ROM chips or any type of solid-state non-volatile semiconductor memory) on which information is permanently stored; and (ii) writable storage media (e.g., floppy disks within a diskette drive or hard-disk drive or any type of solid-state random-access semiconductor memory) on which alterable information is stored.



FIG. 8 illustrates a mounting device 100 that includes a primary portable device 105 that is disposed on a mounting assembly 102 which further includes a sensor assembly 810. In some embodiments, the sensor assembly 810 further includes a sensing region 811 that includes the sensor 114. The sensor 114 is in communication with the processor 118 so that the user input (e.g., input 399B) can be detected from a user that is positioned relative to the sensing region 811. The sensing region 811 is oriented and positioned so that it can detect any audible or non-audible inputs (e.g., physical interaction inputs) that are provided by the user. In cases where the user input includes physical interaction inputs, as discussed above in conjunction with FIGS. 3F and 3G, the sensing region 811 may be positioned so that it has an unobstructed view of the typical places or regions within space where the user input will likely be generated or received.


One will note that the mounting device 100 design described herein is advantageously configured such that the position of the various mounting device 100 components will be known in most user environments, and thus the position and orientation of the sensing region 811 will generally be known in space. Therefore, the chance of the software application receiving a false or unwanted user input detected by the sensors 104 in the primary portable device 105 or the sensors 114 in the mounting assembly 102 can be avoided. In one example, the mounting device 100 components are positioned on the louver 501 of an air vent of an automobile and thus the position and orientation of the mounting device 100 components relative to the driver and passengers in the automobile will be generally known. In this example, the position and orientation of the mounting device 100 will generally include a position that is chest high to a seated adult and an orientation that includes the sensor assembly 810 facing the rear of the automobile. In another example, the position and orientation of a mounting device 100 on a wall 710 (FIG. 7) of the house 700 may be known or purposefully selected by a process of mounting the mounting assembly 102 in a defined position and orientation within the house 700. Therefore, the position and/or orientation of the mounting device 100 and/or primary portable device 105 in space and the primary control information received from the mounting assembly 102 can be used to further improve the ability of the mounting device 100 components to desirably interact with the user.


Referring back to FIGS. 3G and 8, in some embodiments, the user input received during step 382 and analyzed during step 383-384 of the process sequence 380 may include physical interaction inputs (e.g., non-audible inputs) that are detected by a sensor 104 disposed on or within the primary portable device 105 and/or a sensor 114 disposed on or within the mounting assembly 102. In some embodiments, where both the sensors 104 and 114 are present, the user's input detected by the sensor(s) 104 and the sensor(s) 114 are compared by the software application to determine if a user input has been received and/or the content of the user input.


As noted above, the physical interaction inputs received from the user may include one or more hand gestures and/or other movement related inputs from a user's appendage, body or face. In some embodiments, the user input includes a series of motions that include device control commands, contextual device control information and other useful information. Different types of physical interaction inputs may be detected by the sensor 104 disposed on or within the primary portable device 105 and/or the sensor 114 disposed on or within the mounting assembly 102 due to the orientation, position and/or movement of the user's appendage, body or face relative to the sensor 104 and/or sensor 114. In one example, the input sensor 114 is configured to sense the orientation of a user's hand relative to mounting device 100, such as a palm-up position relative to a vertically mounted primary portable device 105, as shown in FIG. 8. The user input received during step 382 of the process sequence 380 may thus interpret the orientation of the hand in the Y-Z plane as having a significance regarding a device control command or as contextual device control information based on the hands orientation in space. The orientation of the user's hand data within the user input will cause the primary portable device 105 to wake up and/or enter a specific software application that is within the primary control function of the mounting assembly (e.g., enter a hands free texting program). Subsequent movements of the user's hand, such as a waving motion in the Y-Z plane and/or movement of the hand in the X-direction, as shown by the dashed hand in FIG. 8, may signify a different type of device control command or contextual device control information that is then used by the software application to perform some task relating to the primary control function. In one example, a waving motion may cause a current activity to be cancelled, while a palm-up motion may be seen as an acceptance gesture.


In some user and mounting device interaction events, a first user input received by the primary portable device 105 or mounting device 100 includes a non-audible type of user input (e.g., stationary or non-stationary hand gesture) that is then followed by one or more additional user inputs that may include one or more non-physical inputs (e.g., audible sound) and/or one or more non-audible type user inputs. In one example, the first user input may include the palm-up oriented hand (e.g., high five gesture), which is followed by a second user input that includes an audible user input, such as the delivery of the phrase “Send Alex a message that I will be home at 5 pm,” as previously discussed above, which is then followed by a third user input that may include a waving hand motion. In this case, the first user input may be determined by the software application as an input that causes one or more of the other software applications stored in memory of the primary portable device 105 to “wake” based on a device control command found in the list of device control commands, and the third user input is determined by the software application to be a task ending or cancelling type of device control command based on the list of device control commands, which prevents the information received in the second user input from being delivered to the user.


Therefore, in some embodiments, by use of the knowledge of the position and orientation of the mounting device 100 in space and the use of the device control commands, contextual device control information and coded rules stored in memory, the mounting device 100 and/or primary portable device 105 can reliably detect and analyze the received user input so that a desired activity and/or output can be provided based on the primary control function information utilized by the software application running within the primary portable device 105 or mounting device 100.


The invention has been described above with reference to specific embodiments. Persons skilled in the art, however, will understand that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The foregoing description and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

Claims
  • 1. A method of controlling an electronic device, comprising: receiving, at a first electronic device, a first signal that comprises primary control function information, wherein the first electronic device includes a plurality of software applications that are stored in memory;preventing at least one software application of the plurality of software applications from interacting with a user based on the received primary control function information, wherein the at least one software application comprises a first software application;detecting a first user input using a first sensor;determining that the detected first user input comprises device control information, wherein the device control information comprises a device control command; andcausing a second software application of the plurality of software applications to generate output information that is delivered to a user from the first electronic device based on the determined device control command, wherein the generated output information is derived from at least a portion of the detected first user input.
  • 2. The method of claim 1, further comprising: receiving, at the first electronic device, external data from one of the plurality of software applications or from a second electronic device,wherein the generated output information also includes at least a portion of the received external data.
  • 3. The method of claim 2, wherein the external data comprises motion related information about the first electronic device.
  • 4. The method of claim 1, wherein the first user input comprises a non-physical input.
  • 5. The method of claim 4, further comprising: detecting a second user input using the first sensor, wherein the second user input comprises a non-audible input, and the second user input is received before the first user input.
  • 6. The method of claim 1, further comprising: detecting a second user input using the first sensor, wherein the second user input comprises a non-audible input, and the second user input is received after the first user input, andwherein the non-audible input comprises positioning an appendage of the user in a first orientation relative to the first sensor.
  • 7. The method of claim 1, wherein the device control information further comprises contextual device control information,the causing the second software application of the plurality of software applications to generate output information further comprises: causing the second software application to initiate a desired task based on the device control command; andselecting at least a portion of the detected first user input based on the determination that the device control information includes contextual device control information, andthe generated output information includes the selected portion of the detected user input.
  • 8. The method of claim 1, wherein the device control information further comprises contextual device control information, and the method further comprises: comparing the contextual device control information with information stored within a contextual device control information list stored in the memory; andwherein generating the output information further comprises selecting at least a portion of the detected first user input based on the comparison of the contextual device control information with the information in the contextual device control information list.
  • 9. The method of claim 1, wherein the primary control function information comprises information about a mounting device on which the first electronic device is disposed.
  • 10. The method of claim 1, wherein the primary control function information comprises information about an environment that the first electronic device is disposed within.
  • 11. The method of claim 1, further comprising: initiating a first pairing process between the first electronic device and a second electronic device;receiving a first signal from a sensor in the first electronic device, wherein the first signal comprises information relating to an interaction event;receiving a second signal from the second electronic device;comparing the information in the first signal and the second signal; andinitiating a second pairing process between the first electronic device and a third electronic device based on the comparison of the first signal and the second signal,wherein initiating the first and the second pairing processes occurs before receiving the first signal.
  • 12. The method of claim 1, wherein the first electronic device includes the first sensor.
  • 13. The method of claim 1, wherein the primary control function information comprises information about a mounting device on which the first electronic device is disposed, and the mounting device includes the first sensor.
  • 14. A method of controlling an electronic device, comprising: detecting a first user input using a first sensor;determining, at a first electronic device, that the detected first user input comprises device control information that comprises a device control command and contextual device control information, wherein the first electronic device includes a plurality of software applications stored in memory; andcausing a first software application of the plurality of software applications to generate output information based on the device control command, wherein the generated output information is derived from at least a portion of the first user input and an analysis of the contextual device control information.
  • 15. The method of claim 14, further comprising: receiving, at the first electronic device, external data from one of the plurality of software applications or from a second electronic device, wherein the external data is received based on a request generated from the first software application based on the determined contextual device control information,wherein the generated output information also includes at least a portion of the received external data.
  • 16. The method of claim 14, wherein the external data comprises motion related information about the first electronic device.
  • 17. The method of claim 14, wherein the first user input comprises a non-physical input.
  • 18. The method of claim 17, further comprising: detecting a second user input using the first sensor, wherein the second user input comprises a non-audible input, and the second user input is received before the first user input.
  • 19. The method of claim 14, further comprising: detecting a second user input using the first sensor, wherein the second user input comprises a non-audible input, and the second user input is received after the first user input, andwherein the non-audible input comprises positioning an appendage of the user in a first orientation relative to the first sensor.
  • 20. The method of claim 14, wherein the causing the first software application of the plurality of software applications to generate output information further comprises: causing the first software application to initiate a desired task based on the device control command; andselecting at least a portion of the detected user input based on the determination that the device control information includes contextual device control information, andthe generated output information includes the selected portion of the detected user input.
  • 21. The method of claim 14, further comprising: comparing the contextual device control information with information within a contextual device control information list stored in the memory; andwherein generating the output information further comprises selecting at least a portion of the detected user input based on the comparison of the contextual device control information with the information within the contextual device control information list, andwherein the generated output information includes the selected portion of the detected user input.
  • 22. The method of claim 14, wherein the first electronic device includes the first sensor.
  • 23. The method of claim 14, wherein the first sensor is included within a second electronic device, and the method further comprises: transferring at least a portion of the information received in the detected first user input from the second electronic device to the first electronic device using a first communication link formed between the first electronic device and the second electronic device.
  • 24. An electronic device, comprising: an enclosure having a supporting surface;a processor;a memory having mode of operation information stored therein;a first sensor that is configured to detect the presence of a first portable device that is positioned proximate to the supporting surface;a second sensor that is positioned to detect physical or non-physical input generated by a user; anda wireless transceiver that is in communication with the processor, wherein the wireless transceiver is configured to wirelessly transfer the mode of operation information to the first portable device.
  • 25. The electronic device of claim 24, wherein the memory also having stored therein a number of instructions which, when executed by the processor, causes the electronic device to perform operations comprising: detecting a first user input using a first sensor;determining, at a first electronic device, that the detected first user input comprises device control information that comprises a device control command and contextual device control information, wherein the first electronic device includes a plurality of software applications stored in memory; andcausing a first software application of the plurality of software applications to generate output information based on the device control command, wherein the generated output information is derived from at least a portion of the first user input and an analysis of the contextual device control information.
  • 26. The electronic device of claim 24, wherein the enclosure further comprises one or more magnets that are positioned to attract a portion of the first portable device to the supporting surface.
  • 27. The electronic device of claim 24, wherein the enclosure further comprises a supporting element that is configured to support the first portable device.
  • 28. The electronic device of claim 24, further comprising: an orientation sensor that is used by the processor to detect the orientation of the first portable device relative to the supporting surface when the portable device is positioned proximate to the supporting surface.
  • 29. The electronic device of claim 24, wherein the first portable device further comprises a memory, wherein the memory also having stored therein a number of instructions which, when executed by a processor of the first portable device, causes the first portable device to perform operations comprising: wirelessly transferring the mode of operation information to the first portable device; anddelivering an output to a user based on the transferred mode of operation information.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of U.S. patent application Ser. No. 14/749,480, filed Jun. 24, 2015, which claims the benefit of U.S. provisional patent application Ser. No. 62/063,859, filed Oct. 14, 2014, which are both hereby incorporated herein by reference.

Provisional Applications (1)
Number Date Country
62063859 Oct 2014 US
Continuation in Parts (1)
Number Date Country
Parent 14749480 Jun 2015 US
Child 15065680 US