Electronic stand controller

The ESC addresses the lack of tactile feedback and intuitive controls in MCDs by providing physical user interfaces that enhance usability and control of media playback, facilitating precise interactions and multitasking.

WO2026000080A1PCT designated stage Publication Date: 2026-01-02CREATIVE STANDARD CANADA INC
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/CA2025/050896
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-26
Filing Date
2025-06-26
Publication Date
2026-01-02

AI Technical Summary

Technical Problem

Mobile computing devices (MCDs) lack tactile feedback and intuitive controls, making precise interactions difficult, especially for media playback and multitasking, and are cumbersome to use in environments where direct touch is undesirable.

Method used

An electronic stand-controller (ESC) with physical user controls such as buttons, knobs, and sliders that interact with a control circuit to transmit commands wirelessly to MCDs, providing tactile interaction and support for various orientations and environments.

Benefits of technology

Enhances the usability of MCDs by allowing precise control of media playback and multitasking through tactile feedback, enabling use in environments where direct touch is undesirable.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CA2025050896_02012026_PF_FP_ABST
    Figure CA2025050896_02012026_PF_FP_ABST
Patent Text Reader

Abstract

An apparatus for controlling at least a media player executing on a mobile computing device having a display screen. The apparatus may include a frame dimensioned to receive and retain the mobile computing device while permitting at least the display screen to remain visible to a user. A user control interface may be supported by the frame, the user control interface comprising a rotatable knob extending from the frame and dimensioned to be grasped and physically bi-directionally rotated with respect to the frame by hand. A control circuit may be within the frame, the control circuit in communication with the user control interface. The control circuit may be configmed at least to cause wireless transmission to the mobile computing device of skip forward commands and skip backward commands responsive to rotations of the rotatable knob in respective directions with respect to the frame, thereby to control the media player.
Need to check novelty before this filing date? Find Prior Art

Description

ELECTRONIC STAND CONTROLLERCROSS REFERENCE TO RELATED APPLICATION

[0001] This application claims priority to United States Provisional Patent Application Serial No. 63 / 664,240 filed on June 26, 2024 and entitled ELECTRONIC STAND CONTROLLER, the contents of which are incorporated by reference herein.FIELD OF THE INVENTION

[0002] The invention described herein pertains to supportive stands or trestles for apparatus placed thereon and to remote-control devices for computing devices.BACKGROUND OF THE INVENTION

[0003] Mobile computing devices (MCDs) such as mobile phones and tablet computers, by design, are not well oriented for use when not being held in a user’s hand(s). Once placed on a surface and no longer held by the user, an MCD’s orientation compromises a user’s ability to interact with it, for either viewing it or using it via contact. A multitude of physical apparatus has been developed to support and orient MCDs to increase their usability and viewability, typically referred to as “stands”. These may be considered to range from simple table-top, prop-up wedge-shaped stands to complex, size-adaptable harnesses that may include gooseneck arms, spring-loaded constraining tabs or arms, and may rely on floor-standing tripod legs.

[0004] Additionally, as the consumption of digital media on MCDs has significantly increased, a variety of media playback controller features and products has been introduced to assist in the control of the media playback software (i.e. “media players”) on MCDs. These features / products may be considered to range from foot-pedal-actuated playback-speed controller boxes designed to be placed on the floor and activated by foot, to volume wheels and media control keys on both wired and wireless computer keyboards. These features / products may seek to ease the means by which users control various media players, making often-used actions such as adjusting the volume or pausing a video possible, using a simple button push. For extremely complex interaction with sophisticated media creation software such as video and audio editing workstation applications, large-scale, hardwired “docking” devices have been developed to create mixing console-like environments for tablet computers, requiring sophisticated configuration of the interaction between the control surface and the software.

[0005] The usefulness and appeal of physical user controls (such as buttons, wheels, knobs orsliding controls i.e. sliders) persist because specialized mechanoreceptors (the four major types include Meissner’s corpuscles, Pacinian corpuscles, Merkel’s disks and Ruffini’s corpuscles) are present in the fingers and palms of humans (see, for example, “Neuroscience. 2ndedition.”, Purves et al., Sinauer Associates; 2001; https: / / www.ncbi.nlm.nih.gov / books / NBK10895 / ). These have evolved specifically to “feel” the vibration and pressure-driven interaction of a user’s fingers and a device or tool being used, providing instant and easily comprehended feedback, guiding accurate use of the device or tool. This unique, mechanoreceptor-driven feedback sensation is not generated when interacting with the smooth, non-tactile surfaces of modern, touchscreen-driven MCDs such as cell phones and tablet computers. This lack of feedback sensation, expected by the mechanoreceptors, makes such MCDs difficult to use for precise, motor-skill centric tasks such as adjusting the audio playback volume, scrolling to a specific location in a video or song, or advancing a video frame-by-frame. Since there are no distinctive, discrete, physical buttons or controls on touch-screen-driven devices, users must look carefully at the device to accurately guide their fingers to the precisely correct and often minuscule segment of a touchscreen to effectively control them. Such devices can rarely effectively be operated “by feel” or even with a cursory glance. Compounding this challenge, the user interfaces of many common media playback applications available on MCDs are not well designed for users to easily control functions like seeking a specific position in a song or video and quickly changing parameters such as the volume of the audio playback. This is to say nothing of more extended, and often obscurely-accessed features like turning Closed Captions on or off. Further, the ability of contemporary MCDs to run multiple applications at the same time, means that a user may want to quickly adjust an aspect of media playback (for example, pause a song or turn up the volume) while using a different application (for example, while reading a web page), necessitating the user first switching applications, making the desired adjustment and then switching back to their previous task and application.

[0006] Further, there exist a number of environments where, for the user, touching their MCD itself is undesirable due to environmental considerations, such as while cooking food and watching a “how to” video on food preparation. A user may desire to not touch their MCD with hands covered with food but seek to watch, and actively control, a YouTube video detailing a specific recipe

[0007] In addition, users with limited physical, visual or cognitive abilities can find touch screens, which often require extremely precise motor-skills and acute vision to “click” on the exactly correct few pixels to cause an action in an application, to be difficult to interact with. For example, to invoke the “full screen” viewing feature in YouTube in the Safari web browser on an iPhone, a user must be able to see and accurately press on an icon that is a mere 2mm x 2mm square.SUMMARY

[0008] This Summary is not intended to itself identify key features or essential features of the claimed subject matter, nor is it intended to be used as the sole aid for determining the scope of the claimed subject matter.

[0009] Described and depicted herein are various examples of apparatuses that may provide physical support and useful spatial orientation of a respective mobile (or, “portable”) computing device that it receives and retains, while also offering users a user control interface that features at least one actuator or other control that is dimensioned to be grasped and / or physically manipulated by hand so as to provide physical, tactile user interaction for the purpose of controlling at least a media player executing on the mobile computing device. For example, media players or software more generally that may be controlled by an apparatus such as that described and depicted herein may include applications such as the YouTube app, the Apple Music app, the Spotify app, other applications, or served web content. Examples of controls are actuators such as switches, buttons, rotatable knobs and / or slidable controls that in order to effect a respective actuation are pressed, rotated, slid, toggled, or otherwise physically moved with respect to a frame that itself receives and retains the mobile computing device. Generally, one or more of such controls are presented and operate to improve the controllability by hand of the mobile computing device, particularly but not limited to the controllability of a media player executing on the mobile device, and to improve - by virtue of the three-dimensional nature of the controls compared to the more two-dimensional experience of sliding a hand or finger across a smooth touch screen or touching different regions on the smooth touch screen - the physical experience of interacting with the mobile computing device. In one example, the user control interface of an apparatus includes a rotatable knob extending from its frame that is dimensioned to be grasped and physically bi-directionally rotated with respect to the frame by hand. A control circuit is within the frame and is in communication with the user control interface and configured at least to cause transmission to the mobile computing device of skip forward commands and skip backward commands responsive to rotations of the rotatable knob in respective directions with respect to the frame, thereby to control the media player.

[0010] In embodiments, apparatuses for receiving and retaining a mobile computing device and that offer physical / tactile controls and a software interface, to provide, through a wireless connection, user control over software on respectively paired (wirelessly connected) MCDs may each be referred to as an “electronic stand-controller” (ESC). Software that may be controlled by the device may include media playback applications such as YouTube, Apple Music, Spotify or other applications.

[0011] To address the myriad usability and control challenges set out herein, the devices describedherein facilitate a unique combination of the support, functionality, and useful orientation of an MCD, such as a phone or tablet, with physical user controls such as buttons, rotary dials and sliders interacting with firmware and / or software to improve the ease with which a user can control applications such as media playback applications on the MCD. An ESC may, in examples, be dimensioned to sit upon a table or other level surface, as well as may be held in the hands of the user, or be further supported by or attached to ancillary apparatus such as tripod stands or other mechanisms with which it can interface.

[0012] The usefulness of an ESC’s physical user controls such as physical switches, buttons, knobs and sliders, may be further enhanced if the user controls are specifically shaped, coloured or textured to indicate their intended function.

[0013] In accordance with an aspect, there is provided an apparatus for controlling at least a media player executing on a mobile computing device having a display screen. The apparatus may comprise a frame dimensioned to receive and retain the mobile computing device while permitting at least the display screen to remain visible to a user. The apparatus may comprise a user control interface supported by the frame, the user control interface comprising a rotatable knob extending from the frame and dimensioned to be grasped and physically bi-directionally rotated with respect to the frame by hand. The apparatus may comprise a control circuit within the frame, the control circuit in communication with the user control interface, wherein the control circuit is configured at least to cause wireless transmission to the mobile computing device of skip forward commands and skip backward commands responsive to rotations of the rotatable knob in respective directions with respect to the frame, thereby to control the media player.

[0014] In accordance with another aspect, there is provided a system for controlling a media player executing on a mobile computing device. The system may comprise the apparatus and a proprietary application executable on the mobile computing device, the proprietary application when executing containing the media player and operable to conduct two-way communications with the apparatus, the two-way communications including receiving the commands caused by the control circuit of the apparatus to be transmitted to the mobile computing device.

[0015] Various examples, embodiments, and combinations are disclosed herein with reference to the accompanying drawings.BRIEF DESCRIPTION OF DRAWINGS

[0016] FIG. 1 is a right-hand perspective view of an electronic stand-controller (“ESC”) for supporting a mobile computing device (“MCD”), and for controlling various software applications on said MCD, such as for example applications that feature a media player.

[0017] FIG. 2 is a left-hand perspective view of the ESC of FIG. 1.

[0018] FIG. 3 is a front view of the ESC of FIG. 1.

[0019] FIG. 4A is a rear view of the ESC of FIG. 1.

[0020] FIG. 4B is a rear view of an alternate embodiment of an ESC for providing support for, and controlling applications on an MCD.

[0021] FIGS 5A through 5E show the progressive extension of a deployable support of the ESC of FIG. 1, further described herein.

[0022] FIGS. 6A through 6C show how an MCD may be placed upon the ESC of FIG. 1.

[0023] FIG. 7 is a view of the ESC of FIG. 1 having been attached to an ancillary apparatus, in this example a tripod, for further elevation and flexible orientation.

[0024] FIG. 8 is a view of an operational environment where the ESC of FIG.1 is used to control applications on an MCD.

[0025] FIG. 9 is a diagram of example elements of a software program installed on an MCD for the purpose of communicating between an ESC, such as the ESC of FIG. 1, and an MCD.

[0026] FIG. 10 depicts a process for sending various commands from an ESC to an MCD.

[0027] FIG. 11 is a process for receiving commands from an ESC, such as the ESC of FIG. 1, at an MCD for the execution of various commands on that MCD.

[0028] FIG. 12 is a process for selecting various software Profdes made available on an ESC, such as the ESC of FIG. 1, according to an embodiment.

[0029] FIG. 13 is a diagram of example elements by which the software program of FIG. 9 controls media and applications on an MCD.

[0030] FIG. 14 is a perspective view of an alternative embodiment of the ESC.

[0031] FIG. 15 is a schematic diagram showing a hardware architecture of a computing system.DETAILED DESCRIPTION

[0032] The following detailed descriptions of example implementations refer to the accompanying drawings.

[0033] Devices, systems and methods described herein are for an ESC which controls, via a wireless connection with a computing device such as an MCD (herein referred to as “paired” with the MCD), various functions of media player and / or other applications executing on the paired MCD. In examples the ESC comprises a user control interface including an arrangement of one or more user controls that include physical controls or mechanisms, such as buttons, actuators, switches, knobs, rotary encoders and variable potentiometers or “sliders”, in order to provide a greater degree of physicalinteraction with a user’s hand(s) than mere touching / not touching or sliding a finger or fingers across a planar screen can provide. These physical controls, when interacted with by a user, interact with a control circuit to cause transmission of respective control commands from the ESC to the paired MCD to effect control over one or more of software applications executing on that paired MCD. For example, in embodiments of an ESC having a volume slider, signals from the volume slider responsive to the volume slider being moved upwards, may be translated by the control circuit of the ESC including firmware, into commands that would be recognized by a paired MCD to be transmitted to the MCD. Such control commands may be transmitted wirelessly to the paired MCD, which would, in response to a recognition of those commands, increase the volume of audio playback on the paired MCD. This may be done either by controlling a software application (such as a media playback app or video playing within a web browser, such as at youtube.com) or the native operating system resident on that paired MCD. The media playback application may itself be executing within a proprietary application (“proprietary application”) on the MCD, the proprietary application provided as part of an overall system that includes the ESC and serving to abstract and map the playback control schema of the served media content and thereby provide control of that content’s playback via the mapping to the physical control elements of the ESC.

[0034] In examples, the ESC also provides physical support for an MCD to be placed in a practical and useful orientation for viewing or using through contact with the physical user controls and / or the user interface (such as a touch interface) of the MCD. Different ESCs may be implemented to accommodate a wide range of different MCD sizes and form factors, such as different tablets and mobile phones. However, in examples, a given ESC may have reception and retention features enabling it to receive and retain a range of MCD sizes and form factors. For example, a given ESC may be constructed to receive and retain any of an iPad Pro, an iPad Air, an iPad Mini, despite their respective different dimensions.

[0035] Furthermore, an ESC may be either left or right “handed”. For example, an ESC may have a frame corner and a first arm extending from the frame corner in a first direction, with the first arm dimensioned to extend along at least a portion of a first edge of the MCD to a first free end, and also a second arm extending from the frame comer in a second direction generally perpendicular to the first direction, the second arm dimensioned to extend along at least a portion of a second edge of the mobile computing device to a second free end. The first arm may extend generally vertically and the second arm may therefore extend generally horizontally, but the frame comer may be at the leftmost or rightmost end of the generally horizontal second arm such that, if at the leftmost end the ESC might be regarded as a left-handed ESC but if at the rightmost end the ESC might be regarded as a right-handedESC. In the example of a right-handed ESC, the ESC is formed generally in an “L” shape such that the two portions of the “L” - the supporting elements (vertical and horizontal arms) - do not encumber (that is, do not unduly block the display screen) the upper left or rightmost aspects of the MCD respectively. In the example of a left-handed ESC, the ESC is formed generally in an “L” shape such that the two portions of the “L” - the supporting elements (vertical and horizontal arms) - do not encumber the upper right or leftmost aspects of the MCD respectively. It will be appreciated that the first and second free ends are useful for enabling the frame to receive and retain MCDs that are themselves longer and / or wider than the lengths of the first and second arms. That is, since the first and second ends are free - they do not define a comer into which the MCD must fit.

[0036] The ESC may enable MCDs to be set upon it in various orientations, for example, an MCD may be oriented in landscape or portrait orientation when set upon an ESC. Further, an ESC may have features that are “ruggedized” for use in dirty, rough or hazardous environments. Examples of ruggedizing an ESC may include sealing the external case with water- and / or dust-proof gaskets around its perimeter at any joinery in the casework, protecting access ports with water- and / or dust proof covers and employing IP -rated switches and controls, or other treatments.

[0037] The ESC connects to an associated (paired) computing device via a wireless connection. Therefore, it can be appreciated that while the ESC is primarily expected to be used with MCDs such as tablet computers and / or mobile phones, the ESC can control software applications or interact with the operating systems on any suitably equipped, paired computing device that is not necessarily mobile and that is not necessarily physically supported by or in physical contact with the ESC. For example, using a wirelessly paired ESC, a user could control the playback volume of a desktop computer from across a room by causing the ESC to send volume up / down commands using a slider input control of the ESC.

[0038] The ESC comprises a control circuit which, in examples, itself includes firmware for configuring its processing structure - for example one or more computer processors - to carry out numerous functions. Such functions may include transmitting control commands from the ESC to the paired computing device by translating input signals from the various input controls / mechanisms of the ESC into commands that can be transmitted to, received by and executed by the paired computing device. In examples, the firmware may also be capable of enabling the processing structure to receive information transmitted from a paired computing device. Such information received from a paired computing device may be information about the status or operation of the paired computing device, such as an identification as to which application is “in focus” on the paired computing device (i.e. which application on the paired computing device is currently able to receive user inputs using the userinterface of the paired computing device itself), information about the status of an application on that paired computer (for example, whether a video on a media player application executing on a paired computer is playing or paused) or any other such information as may be required or useful for realizing the functionality described herein. Also, communications transmitted from the computing device, whether it be an MCD or other computing device, may be one or more of: media player state data, media playback progress data, media playback mode data, and application state data.

[0039] In examples, the firmware may also enable a user to select from multiple control Profiles, each of which may comprise a selection of control commands specifically mapped to each of the control input controls / mechanisms in alignment with the specific control commands required to effect particular commands for a specific “target” application on the paired computing device. Profiles may also be invoked automatically through firmware and / or software without a user’s direct action. It is the case that different playback applications on a paired computer such as an MCD can have entirely different control commands for what a user may regard as similar or identical required actions. Therefore, in order to control multiple applications, each having different control commands, the ESC described herein may include means by which the control circuit on the ESC can be configured to send different control commands responsive to given user controls / mechanisms for each of these many applications present on the paired computing device. For example, a “YouTube Web” Profile might include a set of commands to be transmitted to the paired computing device which are specific to the commands expected by that target application, i.e. the YouTube website displayed in a web browser on the paired computing device. For example, a user may wish to control the playback speed of a video playing through YouTube in the Web browser executing on the paired computer and have that video play at a higher speed than normal. The ESC may provide control commands to increase the speed of video playback on the YouTube site, and those commands could be made available in a “YouTube Web” Profile stored in a data structure in memory on the ESC. Therefore, after selecting the “YouTube Web” Profile on the ESC (or, if the paired computer is configmed to proactively inform the ESC via a two- way communications scheme that “YouTube Web” currently has focus on the paired computer or is otherwise to be controlled by the ESC whether or not it has actual focus on the paired computer) the user can then increase the speed of video playback by pressing a “+” button on the ESC which, via the “YouTube Web” Profile, can transmit the associated command to the paired computer. However, if the user then wishes to practice a song using the application Songsterr and increase the length of a repeated segment in that particular application, the user could then press that “+” button supported by the frame of the ESC. However, because of the selected Profile for Songsterr, the control circuit may cause to be transmitted to the computing device a command for use by the target application (Songsterr) to increasethe length of a playback loop. In other words, the same physical “+” button on the ESC can, through the use of different Profdes that each determine how the control circuit behaves when the “+” button is actuated, be functional to achieve different functions on different target applications executing on the paired computer device. There may be a need for a great many Profiles, each developed to accurately control a specific target application or source of media content, such as streamed content via a webpage. For example, these may include all popular media playback applications, many music practice applications such as Songsterr and Ultimate Guitar, video streaming websites such as YouTube, music recording and creation software such as Garage Band, other digital audio workstations (DAW’s), or other media content sources as may become available. Further, the user controls may be configured to interact with arcade games, providing intuitive physical control for contemporary tablet or mobile phone applications while recalling the idea of the hands-on experience of vintage arcade games.

[0040] Further, in examples, the firmware of the control circuit of an ESC may also enable a user to select from multiple control Modes, each of which may comprise a selection of global modifier aspects that are applied to all the commands in a Profile. A “Mode” modifies a selection of commands in a manner that makes those commands best suited for a particular use-case of the ESC. As with Profiles (described above), the same physical control mechanisms may be programmed to achieve different functions depending on the Mode the ESC is in. For example, a “Practice Mode” (designed to aid musicians practicing along with played back media) may comprise command modifiers that include: incorporating a delay, such as a 3-second delay, after a user presses the “Play” button, before a “Play” command is actually transmitted from the ESC (so the user has time to return from the ESC to the instrument and engage the instrument for playing); invoking a particular quantum of movement, such as a 10 second movement, in the playback media when the skip forward and skip back commands are sent; and modifying the volume control slider’s increments to ensure a linear progression in volume attenuation as the slider is moved, rather than a nonlinear progression, which may be more appropriate for another Mode. Alternatively, a “Sports Replay Mode” (designed to enhance watching sports videos) may set the rotary encoder to enter “frame-by-frame” mode such that one detent of the encoder corresponds to just one or another very small number of frames rather than perhaps a much larger number of frames, as may be appropriate to other playback Modes, such as a “Cinema Mode,” in which a single detent might move one back 60 or 120 frames or more. In such a “Sports Replay Mode”, the skip forward and back buttons may invoke only small time movement, such as 1 second movements, in the playback media, and the volume slider may implement a more logarithmic attenuation curve, allowing more granular control of the playback volume at lower levels than at higher levels, as contrasted, for example, with “Practice Mode.”

[0041] Further, a “Navigation Mode” may take advantage of content-creator-implemented keyframes or event frames that would allow the ESC to navigate between sections (chapters, steps, lessons, pages, phases, etc.) of content using various control messages sent by the ESC. For example, a user could skip to the next step in a DIY video using the “skip forward” button on an ESC.

[0042] The implementation of such Modes may be done by including flags corresponding to the user controls, such as a “delayedPlayTime” variable that may be set at zero for standard fdm / TM / music playback mode, but that may be set at, for example, 3 seconds for “Practice Mode”. As another example, the flag “isLinear,” corresponding to the volume slider, might govern whether the linear movement of the slider results in nonlinear or linear changes in the volume or whatever other quality is being set to be controlled by the slider. Further still, a knob control with, for example, a rotary encoder, may be mapped to more or fewer frames / seconds per detent (i.e. a defined rotational position of the rotary encoder), and forward and backward navigation buttons may be mapped to keyframes or a particular number of future and past frames or time increments, as appropriate for the Mode. Switching between Modes, such as switching between “Practice Mode”, “Navigation Mode”, “Cinema Mode”, and “Sports Replay Mode”, may be done using a dedicated user control, such as a button that toggles through the Modes. The user may also have the option to select the desired Mode via a proprietary application installed on the paired computing device. Upon switching Modes, the ESC may produce visual and / or audible feedback for the user, such as specific LED patterns and / or colours; the presentation of text or some other indicator, such as a Mode icon, on the screen of the ESC; or in some other way. The need for numerous different Modes is anticipated, each developed to optimize a specific use case.

[0043] Further, in examples, an apparatus may be paired to a proprietary software application that abstracts the playback control schema of the streamed or remotely -served content and maps it directly to the control mechanisms of the ESC. This application will then present the playback media to the user within the application, and provide direct and extended control of the media using the physical controls and switches of the device.

[0044] Examples with reference to the Figures will now be described.

[0045] FIG. 1 is a right-hand perspective view of an electronic stand-controller (“ESC”) 101 for supporting a mobile computing device (“MCD”), and for controlling various software applications on said MCD, such as for example applications that feature a media player. FIG. 2 is a left-hand perspective view of ESC 101, FIG. 3 is a front view of ESC 101, and FIG. 4A is a rear view of ESC 101.

[0046] Referring now to FIG. 1, there is shown a right-hand front perspective view 100 of anelectronic stand-controller device (“ESC”) 101 (or “apparatus”) for supporting a mobile computing device (“MCD”) having a display screen, and for controlling various software applications on the MCD, according to an example. In this example, ESC 101 may be used for controlling at least a media player executing on the MCD. ESC 101 includes a frame that is dimensioned to receive and retain the MCD while permitting at least the display screen of the MCD to remain visible to a user. ESC 101 also includes a user control interface supported by the frame. In this example, as will be described, the user control interface includes a rotatable knob extending from the frame and that is dimensioned to be grasped and physically bi-directionally rotated with respect to the frame by hand. Also, as will be described, ESC 101 includes a control circuit within the frame. The control circuit is in communication with the user control interface and, as will be described, is configured at least to cause transmission to the MCD of skip forward commands and skip backward commands responsive to rotations of the rotatable knob in respective directions with respect to the frame. This may be used to control the media player and / or another application executing on the MCD.

[0047] In this example, the frame of ESC 101 includes a frame comer - as shown, the rotatable knob is supported by the frame at the frame corner. A first arm extends from the frame comer in a first direction - in this example vertically - the first arm dimensioned to extend along at least a portion of a first edge of the mobile computing device to a first free end. A second arm extending from the frame comer in a second direction generally perpendicular to the first direction - in this example, horizontally - the second arm dimensioned to extend along at least a portion of a second edge of the mobile computing device to a second free end.

[0048] The frame of ESC 101 includes a front surface 102, and a rear supporting surface 104 for supporting an MCD. In this example, the rear supporting surface 104 extends both in the first direction from the second arm and in the second direction from the first arm. Generally, the rear supporting surface 104 presents a frontward-facing surface for receiving and supporting a back of the MCD. An outer top surface 108 of the first (vertical) arm, a right surface 110 along the first arm, a rounded surface 111 at the frame comer at the bottom of the right surface 110, a bottom surface 112 along the second arm, an outer left surface 114 of the second arm, an inner top surface 116 of the second arm upon which an MCD can be rested, and an inner surface 118 of the first arm.

[0049] In this example, ESC 101 comprises a power switch 122, a toggle switch, along the right surface. In this example, ESC 101 also comprises a deployable support mechanism 120 associated with a rearward-facing surface of the rear supporting surface 104. In this example, the support mechanism is a tabletop stand for holding the ESC 101 in an upright orientation on a generally horizontal surface (such as a table). In other examples, the support mechanism may alternatively or in some combinationbe an interface that physically connects to a mating interface associated with a stand such as a tripod, or some other stable mechanism for supporting the ESC 101 as may be useful to a user.

[0050] In this example, ESC 101 is configured to receive power for its control circuit and any other electrical or electronic functions either by direct connection to the electrical system of a building or other electrical grid via a suitable adapter, or from one or more batteries such as insertable, disposable batteries or an on-board rechargeable battery. In this example, the casework (or “frame”) of the device is made primarily of plastic. However, it will be appreciated that in other examples the casework could be made of other materials, such as wood, metal, carbon-fiber, fiberglass or other suitable material, and / or combinations thereof. It is generally important that the casework of ESC 101 be durable enough to retain its integrity and provide sufficient protection of contained electronic components, control circuit, and physical user controls during use and between uses, as would be expected of, for example, a durable television remote control, an MCD itself, or some other consumer or prosumer device.

[0051] Referring now to FIG. 2, a left perspective view 200 of ESC 101 is shown, in this example, to have a retention channel 124 that receives and assists in the frictional retention and support of an MCD that can be placed therein. In this example, the retention channel 124 is defined by first and second low retention walls extending in the second direction and the first direction, respectively, of a retaining flange 126 as well as rear supporting surface 104 to further secure the mobile computing device upon the ESC 101. The retention channel 124 is of a design and dimension that accommodates a broad range of available mobile computing devices, for example, but not limited to, tablet computers and smart phones, but is narrow enough to ensure each MCD compatible with it is stabilized and secure within it. In this example, the width of retention channel 124 is 14 millimeters (mm), it is 9.5mm deep and 120mm tall, and extending 160mm horizontally along ESC 101. These dimensions are suitable for supporting and sufficiently retaining an iPad tablet or other similarly -dimensioned MCD available at the time of this writing. However, alternative dimensions are possible as the form factors of MCDs may change over time responsive to consumer preferences and advances in manufacturing and computing technology. For example, a retention channel of an alternative ESC may be narrower or wider than retaining channel 124 of ESC 101. It will be appreciated that in alternative examples, multiple aligned first and / or second low retention walls, or single shorter or longer first and / or second low retention walls than those shown in the figures may - in conjunction with rear supporting surface 104 - provide receipt or frictional retention of an MCD. Variations are possible.

[0052] Further referring to FIG. 2, there is, in this example, shown in greater detail, the deployable support mechanism 120 comprising two vertical support legs 120A and 120B and a support base 120C. In this example, the support mechanism 120 is configured so as to be collapsible against the rearward-facing surface 106 of ESC 101; that is, to lie flat against rearward-facing surface 106. The action and operation of deployable support mechanism 120 is depicted in the series of drawings in FIG. 5. Other formats of support mechanisms are possible.

[0053] Further referring to FIG. 2, the ESC 101 is shown, in this example, to have a connection port 128 that provides connectivity to the device via a standard USB cable for tasks such as charging any onboard batteries; updating the device’s onboard firmware of its control circuit; synchronizing data; or other such data exchange functions. In this example, the connection port is a USB Type-C, but in other examples a mini-USB or other connector type useful for data transfer or data and power transfer may be implemented.

[0054] Referring now to FIG. 3, a front view 300 of ESC 101 is shown, in this example, to have a display 130 as part of the user control interface of ESC 101, with display 130 being in communication with the control circuit for providing information to the user about various states of operation of ESC 101. In this example, display 130 is an OLED (Organic Light Emitting Diode). In alternative examples, a suitable display may be provided using an LCD (Liquid Crystal Display) technology, or some other display technology, including displaying information on the paired MCD via an extension or proprietary application. Information that may be presented, including by using display 130, includes battery charging status, battery charge state, connectivity state to the device’s paired MCD (such as whether there is a Bluetooth, Wi-Fi or other such connection achieved between the two devices) and which Profde and / or Mode the device is presently using. Alternative means of presenting this information may be used, such as a proprietary application running on the MCD, or status LED lights mounted upon ESC 101, so as to be readily visible by the user. Further, a proprietary app, extension or display 130 may be used to present “guide text” to the user. In particular, guide text, as defined herein, is text that is presented on display 130 to confirm for a user that the action they wish to undertake has indeed successfully occurred, and / or to explain what a particular control element’s intended function currently is. Guide text may be useful to a user because various user controls of ESC 101 may not be “hard wired” to perform any one particular function. That is, certain or all of such user controls may serve as software defined, for example as “soft keys”, in which their functions - the commands they cause to be sent - are based on the commands with which they are associated in the “Profile” that the user has selected. For example, where an up / down slider user control is established in a Profile as a volume controller, this may be regarded as intuitive to a user in the context of the use of the device, not necessarily requiring guide text. However, where such an up / down slider user control is instead established in a Profile as a kind of forward / reverse video controller, guide text may be useful for guiding a user towards knowing that sliding down reverses the video and sliding up advances the video.

[0055] In an alternative embodiment, an ESC may not include its own display 130 and guide text may rather be displayed directly on the MCD’s display via an extension, application integration or proprietary application.

[0056] Further referring to FIG. 3, ESC 101 is shown, in this example, with a number of physical user controls, in this example actuator / control switch mechanisms 132, 134, 136, 138, 140, 142, 144, 146, 148, 150 and 152. These actuator / control switch mechanisms (i.e. switches, keys or buttons) are, in this example, mounted below or upon the front surface 102 of ESC 101 to protrude above this surface through holes in the casework of such dimension as to allow suitable actuation and manipulation by hand. These switches are positioned and arranged so as to facilitate pressing with a human finger, and in response the firmware of the control circuit of the ESC 101 will send respective commands via a wireless connection to a paired computing device, depending on a selected Profile. In this example it is useful for the sake of useful physical control and tactile feedback that the actuators are dimensioned to be at least temporarily physically moved with respect to the frame by hand, for example by depressing the actuator with respect to the frame, by sliding the actuator with respect to the frame, by rotating the actuator with respect to the frame, by toggling the actuator with respect to the frame, and so forth, to effect actuation. In this manner, the actuators provide extra dimensionality to the interaction of the user with the applications executing on the paired computing device than is provided by a typical touch screen control in which only one or two dimensions of movement are made available to the user. In some examples, the three-dimensional actuator that can be physically moved with respect to the frame can be contacted and operated repeatedly without requiring the user to visually focus on, or even to include in his / her field of view, the three-dimensional actuator. The user may therefore be able to focus primarily on the key content being displayed on the display screen of the MCD, or even to look away from the MCD entirely while manipulating an actuator as might be useful when skipping forwards or backwards through media content with a view to simply hearing the media content rather than seeing it. By introducing actuators that may be physically moved with respect to the frame of the ESC in order to effect control over the MCD, the user may make use of the felt physical relative movement in order to gauge how control is being exercised - to gain control feedback - rather than necessarily being required to watch the display screen of the MCD in order to gain the control feedback as is generally required by many touch screen displays of various MCDs.

[0057] In this example, the switches are arranged in groupings, and located and spaced, so as to facilitate actuation by a human finger with little chance of physical interference with an adjacent switch or other physical user control. It will be appreciated that the actual relative physical positions of the switches and other actuators of the user control interface, such as the knob 154 and the slider 156, canpresent a kind of map of user control interface navigation that, once learned, can be traversed by touch rather than necessarily also by sight. This is not generally available solely from smooth touch screens due to their solely visually differentiable (i.e. not generally physically differentiable - they all feel the exact same to the hand or finger) controls that must, practically, be seen by the user in order to first be located and then be actuated. In this example, these switches are actuators that are normally in an “Off’ state, such that when each is pressed by a finger to move it physically with respect to the frame, the action is detected by the control circuit’s firmware to have created an “On” signal. For these switches, once released by a user’s finger, the switch returns to the “Off’ state. The resulting actuation following from an On-Off state combination is then registered by ESC 101 and, in response, a command corresponding to the switch in the active Profile is caused by the control circuit to be transmitted wirelessly to a paired computing device. The paired computing device receives the command, which is then acted upon by a corresponding application on the paired computing device as will be described. Which commands are transmitted is, in this example, governed by the firmware 804 of the control circuit of ESC 101 and its operation with respect to an active Profile. In examples, the firmware 804 may be programmed such that combinations of switch presses together may trigger unique actions in the firmware that pressing of one or the other switch alone does not trigger, thereby enhancing the number of commands that can be transmitted using a given number of switches. In other examples of ESCs, the number, nature and arrangement of the actuator / control switch mechanisms may differ in some respects.

[0058] While the functionality of each switch is programmable (described further herein), switches may include functionality such as sending commands that will invoke actions on the paired computing device that may include the following: play / pause; skip to the next track (in a playlist); skip to the previous track (in a playlist); skip some amount of time within a song or video (forwards or backwards); return to the beginning of a song or video (return to zero); increase or decrease a parameter (for example, playback speed) in the target application on the paired computing device; invoke an onscreen keyboard on a paired computing device (for instances where the paired computing device does not have a keyboard attached); invoke a full screen display of a video; set or manipulate the beginning (or “in” point) of a loop of a segment of a song or video; further set an end point of said loop, (or “out” point); turn off the looping feature; turn the looping of a segment of a song or video on and off; and mute / unmute the volume of the paired computing device.

[0059] It is important to note that, as further described below, the above is but a sampling of the possible control commands which can be associated with each switch of ESC 101. For example, the user control interface may include at least one additional actuator extending from the frame anddimensioned to be at least temporarily physically moved with respect to the frame by hand for effecting a respective actuation, with the control circuit being configured to cause transmission to the mobile computing device of at least one respective control command responsive to an actuation of a respective one of the at least one additional actuator.

[0060] For example, the user control interface may comprise one or a combination of the following:• at least one loop actuator, wherein the control circuit is configured to cause transmission to the MCD of one or more loop actuator commands responsive to actuation of the at least one loop actuator, thereby to control an application such as a media player. For effecting actuation each of the at least one loop actuator may be dimensioned to be at least temporarily physically moved with respect to the frame by hand. Each of the one or more loop actuator commands may be selected from the group consisting of: a loop in command, a loop out command, and a loop clear command.• at least one speed actuator, wherein the control circuit may be configured to cause transmission to the mobile computing device of one or more speed commands responsive to actuation of the at least one speed actuator, thereby to control an application such as a media player. For effecting actuation each of the at least one speed actuator may be dimensioned to be at least temporarily physically moved with respect to the frame by hand. The at least one speed actuator may be a speed increase actuator, wherein the control circuit is configured to cause transmission to the mobile computing device of a speed increase command responsive to actuation of the speed increase actuator. The at least one speed actuator may be a speed decrease actuator, wherein the control circuit is configured to cause transmission to the mobile computing device of a speed decrease command responsive to actuation of the speed decrease actuator.• a play / pause actuator, wherein the control circuit may be configured to cause transmission to the mobile computing device of a play / pause command responsive to actuation of the play / pause actuator, thereby to control an application such as a media player. For effecting actuation the play / pause actuator may be dimensioned to be at least temporarily physically moved with respect to the frame by hand.• a fullscreen actuator, wherein the control circuit may be configured to cause transmission to the mobile computing device of a fullscreen command responsiveto the actuation of the fullscreen actuator, thereby to control an application such as a media player. For effecting actuation the fullscreen actuator may be dimensioned to be at least temporarily physically moved with respect to the frame by hand.• a previous actuator, wherein the control circuit may be configured to transmit a previous command to the computing device responsive to the actuation of the previous actuator, thereby to control an application such as a media player. For effecting actuation the previous actuator may be dimensioned to be at least temporarily physically moved with respect to the frame by hand.• a next actuator, wherein the control circuit may be configured to cause transmission to the mobile computing device of a next command responsive to the actuation of the next actuator, thereby to control an application such as a media player. For effecting actuation the next actuator may be dimensioned to be at least temporarily physically moved with respect to the frame by hand.• a return to zero actuator, wherein the control circuit may be configured to cause transmission to the mobile computing device of a return to zero command responsive to the actuation of the return to zero actuator, thereby to control an application such as a media player. For effecting actuation the return to zero actuator may be dimensioned to be at least temporarily physically moved with respect to the frame by hand.• a mute actuator, wherein the control circuit is configured to cause transmission to the mobile computing device of a mute command responsive to the actuation of the mute actuator, thereby to control an application such as a media player. For effecting actuation the mute actuator may be dimensioned to be at least temporarily physically moved with respect to the frame by hand.• a save actuator, wherein the control circuit is configured to cause transmission to the mobile computing device of a save command responsive to the actuation of the save actuator, thereby to control an application. For effecting actuation the save actuator may be dimensioned to be at least temporarily physically moved with respect to the frame by hand.• a search actuator, wherein the control circuit is configured to cause transmission to the mobile computing device of a search command responsive to the actuation of the search actuator, thereby to control an application. For effecting actuation the search actuator may be dimensioned to be at least temporarily physically movedwith respect to the frame by hand.• a menu actuator, wherein the control circuit is configured to cause transmission to the mobile computing device of a menu command responsive to the actuation of the menu actuator. For effecting actuation the menu actuator may be dimensioned to be at least temporarily physically moved with respect to the frame by hand.• a tab switch actuator, wherein the control circuit is configured to cause transmission to the mobile computing device of a tab switch responsive to the actuation of the tab switch actuator. For effecting actuation the tab switch actuator may be dimensioned to be at least temporarily physically moved with respect to the frame by hand.• a slide potentiometer, wherein the control circuit is configured to cause transmission to the mobile computing device of a respective command responsive to sliding of the slide potentiometer. For effecting actuation the slide potentiometer may be dimensioned to be at least temporarily physically moved with respect to the frame by hand.

[0061] In the examples of user controls given above, a small subset of the user controls may be made available to a user via a touch screen of an ESC itself thereby to provide a combination of both one or more physical / tactile controls as described herein, and touch screen controls of the ESC itself. While it is important in this description that the ESC lends to an MCD what the MCD almost completely lacks alone - the physicality, tactility, physical feedback, operability without necessarily needing to visually locate the control since it can be done tactically, etc. - to exert control over applications executing on the MCD, it is contemplated herein that it is possible to implement an ESC that provides what the MCD lacks in these physical-interaction aspects while additionally providing its own touch screen or capacitive touch pad or the like, for offering a subset of certain other user controls via the touch screen / pad of the ESC itself. For example, in an alternative example of an ESC, a mute actuator may be available via a touch screen of the ESC while all or most other user controls of the ESC are those that move at least temporarily with respect to the frame to provide that added dimensionality and tactility that the MCD lacks. In such an example, it may have been found that certain users do not value a physical / tactile mute button much more highly than a flat touch screen mute button, though the same users indeed much more highly value a physically -graspable knob for media control over a touch screen slider and indeed much more highly value a physically -pressable play / pause button for media control over a touch screen play / pause button, and so forth. As such, variations are contemplated. Without being bound to a particular theory, it is expected that users will tend to more highly value physical / tactileuser controls where fine adjustments are desired to be made - such as in navigating to a particular frame or chapter of digital video, precisely setting the bounds of a playback loop, adjusting a volume level or a brightness level - and may value less physical / tactile user controls where binary ON / OFF control is to be exerted. However, it may also be the case that users provided with at least some physical / tactile user controls such as those described herein are inclined as a result of this to desire most or all of the rest of the user controls of the ESC to be physical / tactile also. That is, users may automatically adopt a physical-interaction mindset with the ESC once using a physical / tactile user control, and may find it disadvantageous during use of the ESC to have to remember to switch their mindset between operating some of the users controls as touch screen controls and others as the physical / tactile ones. It may be the case that users may prefer, as a result, that all user controls be physical / tactile ones so they can operate primarily by feel instead of having to change the focus of their visual attention in order to even locate a user control on a touch screen. The present description tends to emphasize, for this reason, that most or all of the user controls offered to a user via the ESC be physical / tactile controls as shown in the depicted embodiments.

[0062] In the examples of actuators / mechanisms given herein, the control circuit may be configured to treat one or more particular actuators / mechanisms of the user control interface to have a single function. For example, in an example of an ESC that includes a slide potentiometer, the control circuit may always treat the slide potentiometer as a volume control.

[0063] However, in another example, the control circuit may be configured to treat such a slide potentiometer as a volume control under certain conditions, and as a control of some other non-volume aspect, such a display brightness of the MCD display screen, under other conditions. The conditions may be automatic and contextual, based on which application of the mobile computing device is in focus, what the status of the application and / or mobile computing device is, or some other contextual factor. For example, if the application on the MCD being controlled is not a media player application, but is instead a book-reading application, then via the two-way communications with the ESC the control circuit of the ESC may be automatically informed that a slide potentiometer should be regarded by default as a display brightness controller rather than as a volume controller. This kind of automatic contextual change to expected function may be very useful, but generally would have to be designed carefully so that the user, who is enjoying physically -manipulable controls and the control they exert, is not left confused about why a particular physically-manipulable control that looks the same, has changed in function.

[0064] To avoid confusion of a user while also enabling the limited physical “real estate” of the user control interface to exert various kinds of control over the MCD, changes in the function of a usercontrol may be triggered deliberately by a user who interacts with the user control interface in a particular predefined way, for example to inform the control circuit that the slide potentiometer is to send at least one other command - some alternative command - that is not a sound volume command. For example, this may be done by the user actuating one or more other actuator / mechanism of the user control interface, thereby informing the control circuit of an intended change to the function of the slide potentiometer from being a volume change actuator to some other function, after which commands transmitted to the mobile computing device responsive to movement of the slide potentiometer are not sound volume commands but another intended command corresponding to the other function. For example, the other function may be display brightness adjustment, such that the control circuit is informed by the user that the user wishes to use the slide potentiometer to adjust display brightness, with the control circuit responding to movements of the slide potentiometer by transmitting some brightness adjustment commands to the MCD. The slide potentiometer may therefore, in a given implementation of an ESC, have more than one potential function from the point of view of the user, and may be switchable between its multiple functions. In examples, the control circuit is configured to allocate a default function (i.e. to by default send a particular kind of command such as a volume command responsive to actuation), such as a volume function, to each user control.

[0065] While the above example refers to the slide potentiometer in particular, it is the case according to this description that other user controls, such as the knob, a play / pause button, or some other user control, may be similarly used to control aspects other than those allocated to them by default. Like in the slide potentiometer example, this may be done by the user, via another user control of the user control interface, informing the control circuit that a different kind of control is to be exercised by the user control in question than its default. The control configurations described above may be logically grouped together and described as Profiles or Modes, which, in examples, may be selected by the user or automatically.

[0066] In this example, though not shown, the control switches are illuminated from within or adjacently, using colours that may be regarded as evocative of their intended or common function. For example, the switch designated as the “play / pause” button 136 may be illuminated in a green colour. Further, the illumination colour of each switch may be variable and controlled by the device’s firmware, allowing each button to display several different colours, either separately or in a blend. The illumination intensity of the buttons may be variable and controlled by the device’s firmware and control mechanisms, and / or the Profile. Further, there may be functionality included that allows a user to adjust the intensity (brightness) of the display 130 and the illumination of the control switches 132- 152, either together or separately.

[0067] Further referring to FIG. 3, ESC 101 is shown, in this example, to have an input dial 154 which, in this example is part of a rotary encoder. In this example, the rotary encoder is a conductive encoder, but in alternative embodiments other kinds of rotary encoders, such as optical encoders, may be employed. In this description, input dial 154 is regarded as a kind of rotatable knob extending from the frame and dimensioned to be grasped and physically bi-directionally rotated with respect to the frame by hand. This physical user control mechanism allows command controls to be sensed by the firmware of the control circuit of ESC 101, which in turn causes transmission to a paired computing device, by way of a user rotating the input dial 154, either clockwise or counter clockwise, with each defined rotary position or “segment” in a respective direction causing the control circuit to generate unique control commands, such as “move forward one frame of video” for a clock-wise rotation or in another configuration, (that is to say, the device’s firmware programmatically interprets the inputs in a unique and specific way with reference to the active Profile), and / or “skip backward five (5) seconds in the song” for a counter-clockwise rotation according to how the actuation is associated with commands in the Profile. In this example, the input dial 154 is detented to provide multiple defined rotational positions, with each detent creating a single actuation that is sensed by the firmware of ESC 101 and can be used to cause transmission of a command according to the Profile. Further, the input dial may provide the ability to send multiple control commands in rapid sequence as a user continually spins the knob, allowing the rapid advancement through a song or video, or having a multitudinous effect of some nature on the target application on the paired computing device. In examples, therefore the control circuit may be configured to cause transmission to the mobile computing device of a skip forward command or a skip backward command corresponding to a single segment of a media being played by the media player. This may be done responsive to the rotary encoder being rotated from one of the defined rotational positions to an immediately adjacent other one of the defined rotational positions in a respective direction. Alternatively, the control circuit may be configured to cause transmission to the mobile computing device of at least one skip forward command or at least one skip backward command each corresponding to a plurality of segments of a media being played by the media player. This may be done responsive to the rotary encoder being rotated from one of the defined rotational positions to an immediately adjacent other one of the defined rotational positions in a respective direction. In examples, different skip modes may be invoked. For example, the control circuit may be configurable, using the user control interface, to switch between at least a first skip mode and a second skip mode. In such an example, in the first skip mode the control circuit may be configured to cause transmission to the mobile computing device of a skip forward command or a skip backward command corresponding to a single segment of a media being played by the media player. This may be done responsive to therotary encoder being rotated from one of the defined rotational positions to an immediately adjacent other one of the defined rotational positions in a respective direction. On the other hand, in the second skip mode the control circuit may be configured to cause transmission to the mobile computing device of at least one skip forward command or at least one skip backward command each corresponding to a plurality of the segments of the media being played by the media player. This may be responsive to the rotary encoder being rotated from one of the defined rotational positions to an immediately adjacent other one of the defined rotational positions in a respective direction. It will be appreciated that implementations may involve the single segment of the media corresponding to a single frame of digital video, or the single segment of the media corresponding to a smallest time increment into which the media is divided by the media player. Further to controls being activated individually, the firmware may be programmed to respond to controls being activated in combinations, generating unique control command messages that are sent to the mobile computing device. In examples, the control circuit may transmit an edit speed command to an application installed on the mobile computing device, wherein the combination of a “held” signal from the speed up actuator and the rotary encoder being rotated from one of the defined rotational positions to an immediately adjacent other one of the definite rotational positions in a respective direction changes the playback speed of the media in 10% increments. A clockwise rotation may transmit a single “increase playback speed by 10%” command to the mobile computing device for each detent. A counter-clockwise rotation may transmit a single “decrease playback speed by 10%” command to the mobile computing device for each detent. Additionally, in examples, the control circuit may transmit an edit speed command to an application installed on the mobile computing device, wherein the combination of a “held” signal from the slow down actuator and the rotary encoder being rotated from one of the defined rotational positions to an immediately adjacent other one of the definite rotational positions in a respective direction changes the playback speed of the media in 1% increments. A clockwise rotation may transmit a single “increase playback speed by 1%” command to the mobile computing device for each detent. A counter-clockwise rotation may transmit a single “decrease playback speed by 1%” command to the mobile computing device for each detent. The change in playback speed may be visually indicated on the screen of a mobile computing device through a proprietary application. In examples, playback speed can be reverted to the default speed of the media playing through the media player with a single press of the return to zero actuator. It will be appreciated that the possible number and nature of the control signals that can be produced is vast, and may include display screen navigation commands, menu navigation commands, media library navigation commands, cursor commands, whether in a default mode or in an alternative knob control mode.

[0068] In this example, the input dial 154 further incorporates a mechanism whereby pushing the knob through a plane normal to the axis of the dial 154 (i.e. into the page in FIG. 3) actuates a switch incorporated in the mechanism of the input dial 154 that replicates the functionality of the actuator switches, such as 136 (described above). As such, input dial 154 may be configured along with the firmware and the Profile to enable additional input signals to be sent through the pushing. For example, ESC 101 may be configured such that pushing the knob allows a user to change the command transmitted by the action of spinning the dial from skipping forward and backward in a video by five- second increments to, instead, moving forward and backward in the same video by single frame-by- frame increments, allowing for incredibly precise playback of said video. This change in operation / precision / scale may be accompanied by the particular display of guide text in display 130 or on the screen of a paired computing device.

[0069] Further referring to FIG. 3, ESC 101 is shown, in this example, with an input slider 156 which can be operated by a user to travel through an input slider slot 158. In this example, input slider 156 is mounted to the frame in a similar manner to the control switches. Input slider 156, in combination with the control circuit of ESC 101, provides variable voltage which is sensed by the electronics and / or firmware of the control circuit of ESC 101. Generally -speaking, input slider is implemented as a slide potentiometer. As input slider 156 is moved up or down, the sensed voltage changes, and in response is interpreted by ESC 101. The resulting absolute voltage, voltage change, rate of change, direction of change or similar electrical characteristic sensed is used by the device’s firmware 804 in conjunction with the active Profile to send control command signals to the paired computing device. For example, with the input slider 156 at a particular position in input slider slot 158, a particular (initial) voltage is generated and detected by the electronics of ESC 101. Moving the input slider 156 upwards in slot 158 will generate a new voltage some degree greater than the initial voltage, which is interpreted by the firmware of ESC 101 as an actuation to, in turn, and depending on the active Profile, transmit a control command to a media player application on the paired computing device to increase the volume a commensurate amount. Alternatively, in examples, the firmware of ESC 101 could be programmed to interpret the increased voltage generated by moving the input slider 156 upwards as a control command to increase the pitch, speed or even length of a song on a media playback application on the paired computing device by some amount, presuming that the media playback application was able to be controlled to provide such functionality. As explained above, the control circuit may be configured to respond to the changes in voltage by sending some other kinds of commands, such as display brightness commands.

[0070] In examples where the ESC 101 effects changes in the sound volume of a paired computingdevice via keyboard shortcuts, a program that maps analog voltage readings from the input slider 156 of ESC 101 to a set of defined ranges may be implemented, whereby a single range corresponds to a particular volume level of the computing device. If input slider 156 is moved above a given voltage range, an “increase volume” command is transmitted by ESC 101 to the paired computing device. If input slider 156 is moved below a given voltage range, a “decrease volume” command is transmitted by ESC 101 to the paired computing device. Due to the nature of the slide potentiometer input slider, when the input voltage is close to a “range border”, errant signals from the hardware may result in the volume changing without the user’s deliberate input. To reduce or minimize the likelihood of this error, in examples the firmware of the control circuit of the ESC 101 is configured to operate program functions that mathematically smooth the raw output of the slide potentiometer. In this example, certain ofthe physical control mechanisms 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156 of ESC 101 are specifically shaped, coloured, textured or otherwise formed or represented to indicate their intended function; to visually and / or physically differentiate one type of control mechanism from another; or to impart a unique nature to one or any control mechanism included therein. Variations in other examples are possible.

[0071] It may be useful to explain that even the edges and comers of the physical control mechanisms, as well as the relative positions of the physical control mechanisms on the frame of ESC 101, present to the user of the ESC a kind of haptic map that, once learned, is navigable primarily by feel and, with sufficient familiarity and for developed patterns of use with particular applications, may be navigated entirely by feel and without requiring the user to look down at the physical control mechanisms for most or all interactions they wish to have. This is done by establishing the haptic map such that each location in the haptic map can be immediately, or almost immediately after only very slight additional finger / thumb / hand movement, disambiguated from every other location. For example, it will be appreciated that, in this example, the different spacing between buttons and between clusters of clusters, the overall shapes of the clusters of buttons, their relative distances from the frame comer supporting the input dial 154, the roundedness of the frame corner itself, the relative positions of the input slider 156 and its traversal path as defined by the input slider path 158 with respect to the other buttons or user controls more generally, all contribute to presenting a haptic map in which each physical location is haptically easy to differentiate from every other physical location. To be more specific, to consider FIG. 3, if a user’s right thumb is positioned along the top edge of actuator 150 and against the right edge of actuator 148, there is no other location in the haptic map that would feel the same way - a left vertical button edge and a bottom horizontal bottom edge close by. The user can thus be assured, without generally having to glance at the ESC itself but only by touch, that the current location is whatis expected, since the layout of buttons presents a haptic map in which each location can very easily be haptically disambiguated from each other location. To continue, if the user then moves their thumb leftward from its current position across the gap between the stack of buttons 148-146 and the stack of buttons 144-142, there is no other gap in the whole haptic map that can be felt by the thumb to have the same height and the same gap width. That is, the gap between the stack of buttons 144-142 and the next leftward stack of buttons 140-138 is larger by about 3-4 times than the gap between the stack of buttons 148-146 and 144-142, which comparative difference can be felt by a short traversal of the thumb and does not have to be seen. It will be appreciated therefore that this particular layout of user controls of the user control interface is not arbitrary. It will also be appreciated that other layouts of user controls that present haptic maps of the user control interface in which each physical location is haptically differentiable from every other physical location, may be provided. It will also be appreciated that too large a number of the same kinds of buttons arranged in a row-column matrix will present to a user physical location that are more difficult, or impossible, to navigate haptically alone. For example, a touch-tone telephone keypad can present multiple physical locations of buttons that, due to multiple occurrences of the same kinds of edges and gap sizes, cannot be haptically disambiguated from each other. Therefore, it is an object of an aspect of this description to provide a user control interface with user controls in which each physical location in the user control interface is easily haptically differentiable from every other physical location in the user control interface. While examples are shown, this may be possible to do in alternative ways, to perhaps greater or lesser user satisfaction, by providing multiple differently-shaped user controls adjacent to each other, by providing multiple differently textured user controls adjacent to each other, and so forth, so that the edges and gaps being felt by the user are different depending on where the user’s fingers / thumbs are placed in the haptic map.

[0072] The presentation of what this description is referring to as a haptic map is in stark contrast to what is offered by a MCD such as a tablet computer or a smartphone, which tend to offer controls via a touch screen that are haptically undifferentiable from one another and so must be seen to know where on the touch screen they are located. Even if a touch screen offers some level of buzz or other similar kind of global haptic feedback when a user’s finger corresponds with the location of a button displayed on the touch screen, by the nature of the touch screen itself running one’s fingers along the touch screen in order to receive a buzz when reaching the right location on the touch will tend to actuate other controls unintentionally along the way.

[0073] Referring now to FIG. 4A, a rear view 410 of ESC 101 is shown. In this example, ESC 101 includes support mechanism, in this example a deployable support apparatus 120 comprising two deploy able support legs 120A and 120B, and a deploy able support base 120C, all of which are affixedto the back surface 106 of ESC 101. This support apparatus 120 can be folded out from the depicted retracted position to provide support for ESC 101 so it can stand upright on a flat surface such as a tabletop thereby acting as a tabletop stand (See FIG. 5). The deployable support apparatus 120 is configured to allow variable angles of tilt of ESC 101 to be achieved, depending on how the support apparatus 120 is deployed or oriented, or on which components of the support apparatus 120 are used. In other examples, an ESC may be formed without a deploy able support apparatus 120, and may include features more suited to facilitating the device being held in a user’s hands, or placed upon a user’s lap. Further an ESC may be formed with a mechanism or mechanisms that facilitate the attachment of adaptors or other such apparatus so as to facilitate the attachment of the ESC to other stands or supporting apparatus. Other forms of support mechanism, such as those providing an attachment interface for attaching, generally temporarily, the apparatus to another object, may be provided in addition or as an alternative support mechanism. For example, in other embodiments a support mechanism may be a strong magnet intended to enable the ESC to magnetically couple sufficiently strongly with another magnet to enable the ESC to be supported on a wall, a stand, or the like. A support mechanism may be a physical attachment mechanism that snaps on to a mating attachment mechanism on a music stand or tripod. Alternatives are possible.

[0074] For example, referring now to FIG. 4B, there is shown is a rear view of an alternate embodiment of an ESC for providing support for, and controlling applications on an MCD. A rear view 420 of alternative ESC 101 is shown without a deploy able support 120 and instead with a modular connector 422 at a respective location on ESC 101. Modular connector 422 facilitates connecting alternative ESC 101 to a range of adaptors that in turn connect to a range of attachment apparatus for affixing the device to a myriad of surfaces, such as a clamp to affix alternative ESC 101 to an exercise bike’s handle bars, a suction cup to mount the device on a vertical surface, or any other such stand as might be available.

[0075] In FIG. 4B, there is also shown, in this example, a vertical restraining bar 424 and a horizontal restraining bar 426 associated with alternative ESC 101. Either or both of these may be associated with an ESC 101, to further facilitate the support or constraint of an MCD upon the ESC 101 that is so equipped. These bars may be fixed, detachable, collapsible, rotatable or otherwise flexible so as to be adaptable to a wide range of dimensions. Various structures may additionally or alternatively be provided that may clip on to, wrap around or otherwise secure an MCD. These devices may be further or alternatively configured to offer support to printed material (such as sheet music or a song book) placed upon alternative ESC 101.

[0076] FIGS. 5 A through 5E show the progressive extension of the deploy able support 120 of ESC101, further described herein. In particular, these figures show a right-side, sequential view 500 of the deploy able support 120 of ESC 101 being deployed, in this example, the extension of the deploy able support 120, is shown in several steps. More particularly, FIG. 5A shows the support 120 in its collapsed state. FIG. 5B shows ESC 101 leaned back in preparation for deployment of the deployable support 120. FIG. 5C shows the deployable support 120 partially extended, where the legs of the deployable support 120A and 120B have been swung away from ESC 101. FIG. 5D shows the base 120C of deployable support 120 partially deployed. Lastly, FIG. 5E shows the base 120C of deployable support 120 and legs 120 A and 120B (not visible in this right-side view) fully extended and ready to sit upon a flat surface for the purpose of orienting an MCD, placed upon ESC 101, at a favourable and adjustable angle for viewing or use. It will be appreciated that, while a particular form and function of deployable support 120 is depicted and described, alternatives for supporting and orienting an ESC such as ESC 101 may be provided. Such alternatives may include structures that are integral with an ESC, structures that may be connected to an ESC as accessories, structures that deploy in a different manner, and structures that are more permanently deployed when associated with an ESC.

[0077] FIGS. 6A through 6C show how an MCD may be placed upon ESC 101. FIGS. 6A, 6B, 6C are left perspective views of ESC 101, the ESC 101 being shown in an environment where an MCD 602 that is paired or will be paired is shown being placed upon ESC 101 in three steps, thereby to support and retain MCD 602. More particularly, FIG. 6A is a left perspective view of ESC 101 in an environment with an MCD 602 not sitting upon ESC 101, FIG. 6B is a left perspective view of ESC 101 in an environment where MCD 602 is oriented in such a way as it may be placed upon ESC 101, and FIG. 6C is a left perspective view of ESC 101 in an environment where MCD 602 has been placed upon ESC 101 and is thereby being received and retained by the frame of ESC 101 as explained herein.

[0078] Referring now to FIG. 7, which is a left perspective view 700 of ESC 101, ESC 101 is shown in an environment in which it is further supported via a support mechanism using an ancillary apparatus 702, in this case a tripod. While ESC 101 can be handheld with the deploy able support 120 in the retracted state, or placed upon a flat surface such as a desktop, table or countertop using the deploy able support 120 in an extended position, it is further expected that ESC 101 will be used with additional supporting apparatus, such as a tripod stand 702 or any other manner of support compatible with the form factor of ESC 101.

[0079] Referring now to FIG. 8, ESC 101 is shown in an operating environment 800 in which the ESC 101, in this example, is paired via a wireless connection 810 to an MCD 602 to control operations on MCD 602. ESC 101 in this example comprises a processing structure, in this example a computing processor 802, configmed as a special purpose computing device by operating according to computer-readable program code to: run the firmware 804; connect to memory 809; provide input / output functionality 806 (such as wireless connectivity such as Bluetooth, Bluetooth Low-Energy (BLE), WiFi, or ANT+); drive the display 130; and detect inputs from the physical user controls 132-156, inclusive, while also providing the functionality required by the various processes described herein. ESC 101 is powered by a power circuit 808 that may use on-board batteries, which may be rechargeable or disposable. The power circuit 808 may allow powering of the unit by the I / O port 128. The power circuit 808 may provide the ability to charge the onboard batteries, if present and suitable.

[0080] Further referring to FIG. 8, there is shown an environment on the paired computing device 602 that, in this example, includes the ability of the paired computing device 602 to conduct two-way communications by receiving from and sending information to ESC 101, including, but not limited to: media control commands; application status information, apparatus state data, application state data / information (for example which application has focus and is it playing or paused); and media playback information (such as song position, video title, etc.), media player state data, media player progress data, media player mode data, or various combinations of these. In this example, this communication is bi-directional, such that while ESC 101 can send signals, such as media control messages, to the paired computing device 602, ESC 101 may also receive information from the paired computing device 602. The control circuit of ESC 101 may adapt commands caused to be transmitted to the paired computing device 602 based on contents of such bi-directional communications. Furthermore, lighting or other aspects of the user control interface may be modified responsive to contents of communications received from the paired computing device 602. For example, two-way communications may be useful for enabling a pause action taken directly on the paired computing device 602 to result in a message back to ESC 101 to change the display status of a light of the play / pause button 136, thereby providing useful integration and keeping the ESC 101 aware of the status of various applications, components of the paired computing device 602. However, in other examples, communications may be unidirectional - that is, only from an ESC to the paired computing device to send commands and any ESC status information only one way.

[0081] It is known that MCDs run on operating system (OS) software that typically supports a number of native OS-level media control operations 812 for governing the control of media playback applications that run on those OS’s. These typically include play / pause, volume up and down, skip forward, skip backwards, next track and previous track, amongst others. An MCD may expose an application programming interface (API) enabling the integrated user interface of the MCD to trigger these operations by wire, and an ESC may engage this API by wireless command to trigger these operations wirelessly. An ESC may transmit keyboard commands that would be transmitted by awireless QWERTY-style keyboard for control over these operations. In this example, the ESC 101 transmits commands that, according to the Profde, correspond to the suitable OS commands 812, causing the intended action to occur in the media playback application on the paired computing device. For example, while playing a video streamed over a network 818 from a remote media server 820, a user pushes the “play / pause” button 136 on the device 101, causing the “play / pause” command to be transmitted via the wireless connection 810 to the paired computing device 602, effecting the corresponding action in the target media playback application 817 on the paired computing device 602. Responsive to this, the playing video will pause.

[0082] Further referring to FIG. 8, it is shown that a software extension 814 can be installed on the paired computing device 602. This extension may interact with applications (such as web browsers) on the paired computing device 602 to allow more precise and granular control of actions within the web browser executing on paired computing device 602. For example, the input slider 156 of ESC 101 could be programmed in the firmware 804 according to a Profile such that as the slider 156 is moved up and down, the extension 814 could control the playback of a video within a web browser executing on the paired computing device 602 and move that video forward and backward, frame-by-frame or in larger increments of time, commensurate with the distance and / or speed with which the slider 156 is being moved.

[0083] Further referring to FIG. 8, it is shown that a software application 816 may be installed on the paired computing device 602. This software application 816, distinct from the extension 814, may provide functionality for the user to perform tasks associated with the interaction with, management / configuration of, and / or maintenance of ESC 101. It can be appreciated that the number of commands and permutations of interactions between ESC 101, the software extension 814 or the proprietary software application 816, and the target media playback applications 817 on the paired computing device 602 are vast. Accordingly, nothing in this description is meant to limit the scope of the implementation of ESC 101, its firmware 804, the extension 814 or the proprietary software application 816.

[0084] Referring now to FIG. 9, an overview 900 of the software application 816 is shown. More particularly, FIG. 9 is a diagram of example elements of a software program installed on MCD 602 for the purpose of communicating between an ESC, such as ESC 101, and MCD 602. To help a user manage ESC 101, the application 816 can be loaded onto an MCD 602. A user may interact with application 816 through a user interface to access the range of functionality provided by the application. In this example, the application includes functionality 902 to access updates to firmware 804 on ESC 101, downloaded via a connected network 818 from a paired computing device, serving firmwareupdate files from, for example, the website 910 of the manufacturer of ESC 101 or another suitable source as may be made available 914. Interaction between the application 816 and ESC 101 may be achieved via a hardwired connection using the I / O port 128 or over a wireless connection 810, the latter a process sometimes referred to as providing OTA (over the air) updates. Further access and interaction with the proprietary application 816, the firmware 804, or ESC 101, may be made possible via an API, (application programming interface) and further facilitated by provision of an SDK (software development kit) allowing third-party suppliers and developers of software or operating systems to integrate or create software to interact with, in any such fashion as may be possible, ESC 101 or any software contained therein or provided for use therewith.

[0085] Further referring to FIG. 9, in this example the application 816 further provides functionality to assist in the management of various parameters on ESC 101, such as the installation, creation, deletion or modification of individual Profiles 904 or Modes 905. A Profile is a software file that comprises a collection of control commands or other messages, stored in the memory 809 of ESC 101, which may be mapped specifically to each control mechanism 132-156, and which can be triggered by the firmware 804 and circuitry of, and transmitted from, ESC 101 to a paired MCD via a wireless connection 810 to effect operations on that paired MCD. For example, a Profile that might be called “YouTubeWeb”, intended to control the playing of media hosted on the YouTube website, and played in a web browser on a paired MCD, could specify that the “+” switch 144 is associated with a control message, that, when the “+” switch 144 is pushed, is sent to the paired MCD via a wireless connection 810, and is interpreted by the OS of the MCD 612 and its media control software 812, and / or the extension installed on the paired computing device 814, and / or the proprietary application 816, to increase the playback speed of the media being played by some amount. Alternatively, a Profile called “ASD”, intended to control the playing of media in the application known as “Amazing Slow Downer” (a third-party application that is commercially available and provides powerful control over the playback of audio files) might have the same control mechanism, the “+” switch 144, configured to send a control message that increases the pitch of a song by some amount. Every control mechanism can be thusly mapped to any sort of command message and stored collectively in a Profile.

[0086] Additionally, the firmware (804) may include functionality that provides the mapping of control mechanisms and commands of the ESC (101) based not on the application or content being controlled, but rather aligned with the nature of the task the user is undertaking. For example, a user wishing to watch a long-form video or movie may invoke “Cinema Mode” which provides controls mapped to various mechanisms on the ESC that makes watching a movie easier, such as a control for quickly turning closed captions on and off, or providing a much longer skip forward and backwardcommand of say 1 or 5 minutes, that better suits the navigation of a multi-hour-long video. It can be appreciated that a vast array of “Modes” can be created and nothing in this description is meant to limit the scope of the invention.

[0087] It can be appreciated that there is vast number of possible Profiles and Modes which could be created, and the management 904 of those Profdes or Modes 905 may provide for the creation, modification, storage, deletion, purchase (from, for example, the company’s website 910 or some such other source of software such as Apple’s AppStore or other software outlet of any kind, commercial or otherwise, as may be available) and uploading of the Profiles, both to the ESC 101 or to a remote storage location, such as on the MCD 602 or the company’s website 910, or some other location as may be made available as part of the functionality of proprietary application 816. Profiles may also include other information governing manifold aspects of or the operation of either the ESC 101, the proprietary application 816, or other systems or components.

[0088] The proprietary application 816 may provide further functionality allowing users to customize aspects of, or change the functionality on ESC 101 , such as setting the illumination brightness of the control switches 132-152 or changing their display colour. This functionality may further include commands for running the device 101, such as power-off timers, connectivity preferences (which networks or connection technologies to use), or any other parameters made available for configuration in the device’s firmware 804 or the proprietary application itself 816.

[0089] Further referring to FIG. 9, an additional function of the proprietary application 816, may include the direct control of applications 906 on the paired computing device using command controls sent to if from the ESC 101. It can be appreciated that there is a vast array of control messages that could be transmitted from the ESC 101 to a paired computing device, and this functionality includes, but is not limited to, interaction directly with the paired computing device’s Operating System 912, software applications installed upon the paired computing device 602, or any combination thereof.

[0090] Further, as described above, the proprietary application may itself render, control and display streamed or remotely served or locally hosted media content, interpreting control messages sent by the ESC to the application. In this example, the application is acting as a content “container” within which the ESC may exert precise and extensive control over the media content, by way of commands sent to the application by the controls on the ESC.

[0091] Referring now to FIG. 10, an overview 1000 of a process 1001 is shown by which the firmware 804 of ESC 101 registers command inputs when a control mechanism (for example, switch 132) is activated and those commands are transmitted to a paired computing device, such as an MCD. Process 1001 starts at 1002 upon the powering on of ESC 101. When running, in this example, theprocess starts at 1002 and polls the control mechanisms 132-152, the input dial 154 and the input slider 156 for when they are activated, either by pushing the buttons, rotating the input dial or sliding the input slider up and down respectively. If no input (for example, a voltage change) is registered at a control mechanism, the process returns 1042 to the start 1002 and begins again. The process 1001 can run as many as thousands of times per second, and ends at 1062 upon the powering off of ESC 101. If the control mechanism 132 has been activated by the user, creating a momentary “true” state at 1004, the electrical circuity of ESC 101 registers this input, and sends and implements a “change Profile” command 1006 in the firmware 804 of the device 101. In this example, Selector switch 132 represents the Profile switch (the button labeled “P” for Profile), which, when pressed by the user, activates 1006 the process 1202 (see FIG. 12). Further, if another control mechanism (134-152, 154 or 156) has been activated, creating “true” states at 1014, 1024 or 1034, the electrical circuity of ESC 101 registers these inputs and the firmware 804 translates these commands into specific, corresponding command signals that are transmitted 1016, 1026, 1036 to a paired computing device by a wireless connection 810. These command signals are determined by the selected Profile 1230, and subsequently activate 1052 process 1101 (see FIG. 11). The process 1001 then restarts from the beginning at 1002, and continues looping as described herein so long as ESC 101 is powered on by the power circuit 808.

[0092] As mentioned above, there may be included in the firmware 804 software code executable by the processing structure to enable a user to configure certain commands to be delayed in transmission by a pre determined (fixed, or user configured) period of time after a physical user control is actuated. Because ESC 101 may be used to practice a musical instrument or undertake another physical task requiring a specific orientation or location of a user’s hands, this delay, implemented in a “Practice Mode”, can be useful in allowing a pause between the activation of a control element and the actual execution of the associated command. For example, a user can apply a 3 -second delay after pressing “play” to resume the playback of a song, giving the user a chance to “get ready” to start playing their instrument again before the song resumes playback 3 seconds after they press the “play” button. Furthermore, control mechanisms may be pressed in combination, or held for varied lengths of time, creating unique control or firmware commands that can either be registered by ESC 101 or transmitted to a paired computing device. For example, pushing the “P” button and the “+” button at the same time might cause a change in firmware settings of ESC 101 to change the behaviour of the slider mechanism (such as, to increase or decrease its sensitivity to movements). Alternatively, the aforementioned button press combination could be used to send a change message to an application on the paired computing device to increase the amount of time a song skips forward in the target media playback application for each “skip forward” command sent by ESC 101.

[0093] Referring now to FIG. 11, an overview 1100 of a process 1101 is shown. The steps in this process may follow on from or occur after process 1001, by which the firmware 804 of ESC 101 has registered command inputs when a control mechanism 134-152, 154, 156 has been activated and those commands have been transmitted to a paired computing device. Both process 1001 and 1101 run sequentially and multiple transmissions of commands can occur between ESC 101 and the paired computing device. The process 1101 describes, in this example, the actions that may occur on the paired computing device. The process begins at 1102, whereby various applications, firmware or software which may be resident on the paired computing device, including but not limited to the paired device’s operating system 812, a specifically -built extension 814 or a proprietary application 816 are in a state of polling or monitoring various aspects of the applications, software or firmware, for input commands or signals sent to them. For each example 812, 814, 816, when a particular command is received 1104, 1114, 1124 from ESC 101, the associated function is executed 1106, 1116, 1126 in the appropriate target application. The process may rim many, even thousands, of times per second, and this frequency is dependent, at least in part, on the nature of the applications on the paired computing device. If no command is received, the process returns 1132 to the start 1102 and begins again. Not shown are commands that may be transmitted in reverse, back from the applications on the paired computing device to ESC 101 for the purposes including, but not limited to updating the status of the paired computing device, the state or other parameters associated with any of the applications running thereon, or any other such data as may be transmittable from the paired computing device as might be required for the functioning of ESC 101. The process ends 1152 upon closing the target application or powering off the paired computing device 602.

[0094] Referring now to FIG. 12, an overview 1200 of a process 1201 is shown which describes the selection of the “active” or currently in-use Profile 1230 on ESC 101. As described herein, Profiles are collections of control commands mapped to specific control mechanisms and means of input. Management of Profiles 904 (creation, deletion, modification, purchase, uploading to the device 101, etc.) may be provided by the proprietary application 816. The process begins at 1202, whereby in this example, a “Change Profile” command may be transmitted due to the activation of control mechanism 132 (used in this example as the Profile switch on ESC 101), receipt of an OS level command from the OS 912 of a paired computing device, or receipt of a “Change Profile” command from the proprietary application (however so caused) 816. If no command is received, the process returns 1232 to the start 1202. If a “Change Profile” signal is registered 1204, 1214, 1224, the “Change Profile” command is executed 1216 on the ESC 101, and the selected Profile 1230 is applied 1218 to ESC 101. If the proprietary application 816 is in use, the “Change Profile” command is also executed within 1226 andthe selected Profile 1230 is applied to 1228 the proprietary application 816. At 1242, the selected Profile 1230 determines the nature of the associated commands that are transmitted by each input received in process 1001. Process 1201 ends 1252 upon the powering off of ESC 101.

[0095] Referring now to FIG. 13, an example of Control of Media and Applications 906 through Proprietary Application 816 is shown. In this example, ESC 101 interacts with the Operating System 912 of MCD 602 through a custom BLE (Bluetooth light energy) profile 1302 to effect changes in and / or receive information from Proprietary Application 816. Media may be streamed via a media player 1308 on a web page 1306 loaded in a web browser 1304, and managed via the control script 1310 of the web browser 1304. This environment may also include a BLE Control Manager layer 1312, which may communicate bidirectionally with the Control Script 1310, and may also bidirectionally interface with applications to enact application functions 1314. It can be appreciated that through a proprietary application with the described bidirectional architecture, ESC 101 can be used to control media streamed via a media player more fulsomely than is possible using third-party applications or applications native to the MCD which are not specifically designed to be controlled by and provide feedback to ESC 101. In examples, ESC 101 may include a loop actuator switch 150 which serves to mark segments of a media file for repetition, referred to as a “loop”. If no loop is in effect, an initial press of switch 150 will place a “Loop in” marker at the specific time in the media when the switch is pressed. If the media is allowed to play, or the playback “head” location is moved to change the playback position in the media using input dial 154 to a later location in the media, control switch 150 can be pressed a second time to mark a “Loop Out” point in the media. The firmware then replays the video between the markers until a “Loop End” command is sent by pressing the switch 150 a third time. Concurrent to these actions, the proprietary application 816 causes to be drawn on the media player on the MCD location indicia of an overlay denoting the loop start and end locations. This is in part possible because the proprietary application also causes the media player’s navigation / progress bar, a visual indicator of playback position which is traditionally only briefly displayed, to be permanently displayed at all times while the media plays. The proprietary application may cause this permanent display by either instructing the media player to do so at the start of a media playback session or, if the media player does not offer this permanent display mode, by invoking its own process that periodically commands the media player to show and / or update its navigation / progress bar position.

[0096] Regarding looping, in examples the proprietary application stores user data about any stored or streaming media receivable by the media player for playback. This user data is stored in association with an identification of the instance of the media to which it pertains, and is not embedded in the media itself. In this way, the user can modify their experience in playing back the media or shareinsights about the media with others without actually modifying the media itself. In one example, the user data includes a loop list storing at least one defined loop in association with a media identifier of a respective instance of stored or streaming media. In such an example, each of the at least one defined loop includes a loop identifier, a loop start time and a loop end time. Each defined loop may advantageously include a loop name so that the user can select it, share it, or otherwise make reference to it by name. For example, loop names for respective defined loops associated with the media identifier (for example, a URL, a file name, or some other identifier) for a particular big band song performance video may include “Drums triplet transition sequence”, “Drum flurry outro” or other custom names to aid the user with identifying defined loops.

[0097] In examples, the proprietary application includes computer program code for automatically retrieving from the loop list, for selecting by a user using at least one of the apparatus and the proprietary application, one or more of the at least one defined loop. This automatic retrieving is done responsive to a selection for receiving and playback by the media player of the instance of stored or streaming media corresponding to the media identifier with which the at least one defined loop is associated. Upon retrieval, the each of the one or more retrieved defined loops may be selected by the user using the ESC or the MSC directly in order to cause the media player to jump to the corresponding loop start time in the associated media instance and play back the media instance until the corresponding loop end time, and then jump back to the corresponding loop start time to repeat the loop, until the user causes the looping to pause or stop.

[0098] Referring now to FIG. 14, a perspective view of an alternative embodiment of an ESC, identified as ESC 1401 is shown. In this embodiment, ESC 1401 has a form factor that is more specifically for the support of mobile phones and may comprise all of the features, technologies, software, firmware or other such elements as are described herein. It will also be noted that, where the bottom of a vertically-oriented mobile phone (not itself shown) is to interface with ESC 1401, there is a part-circle or U-shaped “cut out” region extending through the mobile phone retaining channel. This U-shaped region provides a user with touch access to the bottom of the touch screen of the mobile phone even while the mobile phone is being retained or supported within ESC 1401. Touch access to the bottom of the touch screen may be useful for enabling a user to engage key user interface controls of the mobile phone, such as a “swipe up to return to Home Screen” function offered, for example, on certain Apple iPhones available at the time of this writing, or the “press to return to Home Screen” button on certain other Apple iPhones available at the time of this writing. Alternatives in the shape of this “cut out” region, or in retaining a mobile phone in a different way while providing access to the bottom of the touch screen, are possible. For example, an ESC may have a rectangular “cut out” region,or an ESC may simply have one or more spaced posts effectively delimiting a channel for supporting and retaining a mobile phone.

[0099] FIG. 15 is a schematic diagram showing a hardware architecture of a computing system 2000. Computing system 2000 is suitable as the hardware platform for a paired computing device such as an MCD that, in examples, executes applications such as the proprietary application to cooperate with an ESC to control other applications on the MCA, such as a media player and / or some other applications that may be controlled using an ESC. It will be appreciated that, in the case of an MCD to which examples of the ESC that receive and retain the MCD are herein directed, the primary user interface made available is simply a touch display screen, such that the ESC is formatted and configured to significantly enhance the physical and tactile operability of the MCD, as described. Various alternative computing systems having more or fewer components may serve as the hardware architecture of a paired computing device such as an MCD.

[0100] Computing system 2000 includes a bus 2010 or other communication mechanism for communicating information, and a processor 2018 coupled with the bus 2010 for processing the information. The computing system 2000 also includes a main memory 2004, such as a random access memory (RAM) or other dynamic storage device (e.g., dynamic RAM (DRAM), static RAM (SRAM), and synchronous DRAM (SDRAM)), coupled to the bus 2010 for storing information and instructions to be executed by processor 2018. In addition, the main memory 2004 may be used for storing temporary variables or other intermediate information during the execution of instructions by the processor 2018. Processor 2018 may include memory structures such as registers for storing such temporary variables or other intermediate information during execution of instructions. The computing system 2000 further includes a read only memory (ROM) 2006 or other static storage device (e.g., programmable ROM (PROM), erasable PROM (EPROM), and electrically erasable PROM (EEPROM)) coupled to the bus 2010 for storing static information and instructions for the processor 2018.

[0101] Computing system 2000 also includes a disk controller 2008 coupled to the bus 2010 to control one or more storage devices for storing information and instructions, such as a magnetic hard disk 2022 and / or a solid state drive (SSD) and / or a flash drive, and a removable media drive 2024 (e.g., solid state drive such as USB key or external hard drive, floppy disk drive, read-only compact disc drive, read / write compact disc drive, compact disc jukebox, tape drive, and removable magneto-optical drive). The storage devices may be added to the computing system 2000 using an appropriate device interface (e.g., Serial ATA (SATA), peripheral component interconnect (PCI), small computing systeminterface (SCSI), integrated device electronics (IDE), enhanced-IDE (E-IDE), direct memory access (DMA), ultra-DMA, as well as cloud-based device interfaces).

[0102] Computing system 2000 may also include special purpose logic devices (e.g., application specific integrated circuits (ASICs)) or configurable logic devices (e.g., simple programmable logic devices (SPLDs), complex programmable logic devices (CPLDs), and field programmable gate arrays (FPGAs)).

[0103] Computing system 2000 also includes a display controller 2002 coupled to the bus 2010 to control a display 2012, such as an LED (light emitting diode) screen, organic LED (OLED) screen, liquid crystal display (LCD) screen or some other device suitable for displaying information to a computer user. In embodiments, display controller 2002 incorporates a dedicated graphics -processing unit (GPU) for processing mainly graphics-intensive or other parallel operations. Such operations may include rendering by applying texturing, shading and the like to wireframe objects including polygons such as spheres and cubes thereby to relieve processor 2018 of having to undertake such intensive operations at the expense of overall performance of computing system 2000. The GPU may incorporate dedicated graphics memory for storing data generated during its operations, and includes a frame buffer RAM memory for storing processing results as bitmaps to be used to activate pixels of display 2012. The GPU may be instructed to undertake various operations by applications running on computing system 2000 using a graphics-directed application-programming interface (API) such as OpenGL, Direct3D and the like.

[0104] Computing system 2000 includes input devices, such as a keyboard 2014 and a pointing device 2016, for interacting with a computer user and providing information to the processor 2018. The pointing device 2016, for example, may be a mouse, a trackball, or a pointing stick for communicating direction information and command selections to the processor 2018 and for controlling cursor movement on the display 2012. The computing system 2000 may employ a display device that is coupled with an input device, such as a touch screen. Other input devices may be employed, such as those that provide data to the computing system via wires or wirelessly, such as gesture detectors including infrared detectors, gyroscopes, accelerometers, other kinds of input devices such as radar / sonar, front and / or rear cameras, infrared sensors, ultrasonic sensors, LiDAR (Light Detection and Ranging) sensors, and other kinds of sensors.

[0105] Computing system 2000 performs a portion or all of the processing steps discussed herein in response to the processor 2018 and / or GPU of display controller 2002 executing one or more sequences of one or more instructions contained in a memory, such as the main memory 2004. Such instructions may be read into the main memory 2004 from another processor readable medium, such asa hard disk 2022 or a removable media drive 2024. One or more processors in a multi-processing arrangement such as computing system 2000 having both a central processing unit and one or more graphics processing unit may also be employed to execute the sequences of instructions contained in main memory 2004 or in dedicated graphics memory of the GPU. In alternative embodiments, hardwired circuitry may be used in place of or in combination with software instructions.

[0106] As stated above, computing system 2000 includes at least one processor readable medium or memory for holding instructions programmed according to the teachings of the description and for containing data structures, tables, records, or other data described herein. Examples of processor readable media are solid state devices (SSD), flash-based drives, compact discs, hard disks, floppy disks, tape, magneto-optical disks, PROMs (EPROM, EEPROM, flash EPROM), DRAM, SRAM, SDRAM, or any other magnetic medium, compact discs (e.g., CD-ROM), or any other optical medium, punch cards, paper tape, or other physical medium with patterns of holes, a carrier wave (described below), or any other medium from which a computer can read.

[0107] Stored on any one or on a combination of processor readable media, is software for controlling the computing system 2000, for driving a device or devices to perform the functions discussed herein, and for enabling computing system 2000 to interact with a human user. Such software may include, but is not limited to, device drivers, operating systems, development tools, and applications software. Such processor readable media further includes the computer program product for performing all or a portion (if processing is distributed) of the processing performed discussed herein.

[0108] The computer code devices discussed herein may be any interpretable or executable code mechanism, including but not limited to scripts, interpretable programs, dynamic link libraries (DLLs), object-oriented programming (OOP) modules such as classes, and complete executable programs. Moreover, parts of the processing of the present description may be distributed for better performance, reliability, and / or cost.

[0109] A processor readable medium providing instructions to a processor 2018 may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical, magnetic disks, and magneto-optical disks, such as the hard disk 2022 or the removable media drive 2024. Volatile media includes dynamic memory, such as the main memory 2004. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that make up the bus 2010. Transmission media also may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications using various communications protocols.

[0110] Various forms of processor readable media may be involved in carrying out one or more sequences of one or more instructions to processor 2018 for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions for implementing all or a portion of the present description remotely into a dynamic memory and send the instructions over a wired or wireless connection using a modem. A modem local to the computing system 2000 may receive the data via wired Ethernet or wirelessly via Wi-Fi and place the data on the bus 2010. The bus 2010 carries the data to the main memory 2004, from which the processor 2018 retrieves and executes the instructions. The instructions received by the main memory 2004 may optionally be stored on storage device 2022 or 2024 either before or after execution by processor 2018.

[0111] Computing system 2000 also includes a communication interface 2020 coupled to the bus 2010. The communication interface 2020 provides a two-way data communication coupling to a network link that is connected to, for example, a local area network (LAN) 2500, or to another communications network 3000 such as the Internet. For example, the communication interface 2020 may be a network interface card to attach to any packet switched LAN. As another example, the communication interface 2020 may be an asymmetric digital subscriber line (ADSL) card, an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of communications line. Wireless links may also be implemented. In any such implementation, the communication interface 2020 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.

[0112] The network link typically provides data communication through one or more networks to other data devices, including without limitation to enable the flow of electronic information. For example, the network link may provide a connection to another computer through a local network 2500 (e.g., a LAN) or through equipment operated by a service provider, which provides communication services through a communications network 3000. The local network 2500 and the communications network 3000 use, for example, electrical, electromagnetic, or optical signals that carry digital data streams, and the associated physical layer (e.g., CAT 5 cable, coaxial cable, optical fiber, etc.). The signals through the various networks and the signals on the network link and through the communication interface 2020, which carry the digital data to and from the computing system 2000, may be implemented in baseband signals, or carrier wave based signals. The baseband signals convey the digital data as unmodulated electrical pulses that are descriptive of a stream of digital data bits, where the term "bits" is to be construed broadly to mean symbol, where each symbol conveys at least one or more information bits. The digital data may also be used to modulate a carrier wave, such as withamplitude, phase and / or frequency shift keyed signals that are propagated over a conductive media, or transmitted as electromagnetic waves through a propagation medium. Thus, the digital data may be sent as unmodulated baseband data through a "wired" communication channel and / or sent within a predetermined frequency band, different from baseband, by modulating a carrier wave. The computing system 2000 can transmit and receive data, including program code, through the network(s) 2500 and 3000, the network link and the communication interface 2020. Moreover, the network link may provide a connection through a LAN 2500 to a mobile device 2300 such as a personal digital assistant (PDA) laptop computer, or cellular telephone.

[0113] Alternative configurations of computing systems may be used to implement the systems and processes described herein.

[0114] Electronic data stores implemented in the database described herein may be one or more of a table, an array, a database, a structured data fde, an XML fde, or some other functional data store, such as hard disk 2022 or removable media 2024.

[0115] While examples have been described and depicted, alternatives are possible.

[0116] For example, while skip forward and skip backwards commands may be transmitted by the control circuit responsive to rotations of the rotatable knob in respective directions with respect to the frame, with such commands being intended to move ahead or back a particular number of frames of digital video or a particular number of seconds or some subdivision thereof, it may be useful to provide a mode in which rotations of the knob send “next chapter” or “previous chapter” commands that correspond to chapters (or other such subdivisions) into which particular media is subdivided by its author, editor, or the user. In this way, a user can skip ahead or skip back by one or more chapters which may each have a different number of frames and / or being longer or shorter in time. An ESC that is in two-way communications with the MSC may be configured to receive data from the media player indicating a particular piece of media to be played has come defined with such chapters, and the ESC may be configured in response such that its control circuit defaults to “skip ahead chapter” and “skip back chapter” rather than “skip ahead X frames” and “skip back X frames”.

[0117] As another example of alternatives, the proprietary application that handles communications of commands and status information with an ESC may have computer-readable program code that offers the user of the MCD the opportunity to share defined loops from a loop list (or single location markers from a marker list), so that others may use the defined loops in connection with the associated media content on their own ESC. For example, a thought leader operating a popular musical education podcast may be able to share with his / her viewers the stop and start points of a defined loop or marker point for a particular piece of media the thought leader may be analyzing during thepodcasts, so users can go back and loop or view the same content for themselves.

[0118] As another example, the casework or frame of an ESC may additionally be formed to accommodate the connection and / or routing of charging or connection cables installed upon, or connected to an MCD that is being supported / retained by the ESC. The casework of an ESC may also be formed to accommodate and or enhance in functionality and / or performance, the use of the camera, microphone or speaker(s) of an MCD, if so equipped, that has been set upon the ESC. An ESC may additionally incorporate loudspeaker transducers of any nature or construction, to be used with a paired computing device to replace or augment the speakers on the paired computing device via a wireless connection. An ESC device may also include a microphone for use with the paired computing device via the wireless connection.

[0076] Furthermore, while the ESC 101 of FIG. 1 itself does not include a U-shaped “cut out” or other structure for providing access to a bottom end of a retained and supported MCD as does ESC 1301, in other examples such a “cut out”, spaced posts, or other structure, and / or the retaining channel 124 and retaining flange 126, may also be formed or designed so as to provide access to specific areas of the MCD, such as to allow users to “swipe up” on the touch screen or access the “home button” of the MCD, if so equipped, as the MCD sits in the device 101.

[0119] In examples, the securing of an MCD within a retaining channel or other retaining structure may be further increased by the inclusion of fixation technologies such as magnetic strips (certain Apple mobile computing devices feature magnets built into their cases for retention of folio covers and the like, and these could be exploited for retention by an ESC) or high-friction rubber strips at various locations beside, below or within the retaining channel or other structure. An ESC, in some embodiments, may also incorporate retention devices, arms, clips, frames, or holders of other design, any or all of which may be movable or articulated, for the purpose of further restraining an MCD placed upon an ESC. Such retaining elements may, in total or individually, be included to prevent the MCD from slipping out of, or falling off of, an ESC either while sitting stationary, in the event the ESC is moved by the user from one location to another, or inadvertently jostled or bumped, as might happen when the ESC is used in an environment such as a crowded rehearsal studio or mounted upon an ancillary apparatus such as a tripod, as shown in FIG. 7. Such fixation technologies may be provided as integral with ESC or may be separate items to be affixed to, or otherwise physically associated with, the ESC.

[0120] While in examples described herein Profiles are stored within memory of the ESC such that commands transmitted by the ESC are unique depending on the Profile, alternatives are possible. For example, Profiles may be stored on a paired computing device such that the commands transmitted by the ESC responsive to actuation / manipulation of a given physical user control on ESC are always thesame, and are only “translated” into commands suitable for an application on the paired computing device once reaching the paired computing device, and depending on which Profile on paired computing device is presently active.

[0121] While in examples Profdes may be hardcoded into an ESC, and Modes may be hardcoded into the ESC, in that the parameters for a Profde or a Mode are fixed until such time as a firmware upgrade is received, alternatives are possible. For example, a user may wish to maintain a library of Profiles stored in memory on the ESC and corresponding only to applications that the user plans to use, and / or the user may wish to maintain a library of Modes corresponding only to Modes that the user plans to use. For example, a non-musical teen may include only the “Cinema Mode” and “Sports Playback Mode”, and not the “Practice Mode”. A professional musician may have the “Practice Mode” and the “Cinema Mode” but not the “Sports Playback Mode”. A similar setup may be had for Profiles themselves, such that a given user may have on their ESC Profiles for YouTube and Apple Music, but not for Spotify if they do not subscribe to that service. A user may be able to download additional Profiles and / or Modes as their needs develop and / or as such. Modes and Profiles are developed to keep pace with the applications made available on an MCD. Such Modes and / or Profiles may be available from a software source for free, may be required to be paid for, or a coupon or similar may be offered for a particular Profile and / or Mode when the user purchase s / downloads a particular application, so as to enable the user to download the particular Profile and / or Mode into the ESC that, when coupled with the particular application, meshes very well the control effected using the ESC with the particular application itself, as perhaps developed by the application developer based on user testing.

[0122] The device, systems and processes detailed herein provide a novel solution for the combined challenges of providing support and favourable orientation of MCDs, and offering easy-to- use physical control mechanisms (such as buttons, knobs and sliders) that accommodate the human need for physical feedback when using computing devices. The technologies described herein therefore provide various technological improvements and improved efficiency to computer operation. The benefits of the ESC include the ability to easily control software, such as, but not limited to, media playback applications on paired MCDs, while maintaining a useful and desirable orientation of the MCD and making the interaction with a touchscreen-driven MCD much more tactile and reliable. The challenges, imprecision and frustration of trying to press a tiny and precise location on a featureless (i.e. uniform-feeling) glass panel (touchscreen) can be avoided, instead replaced with the physically satisfying action of pressing an easily seen and felt control mechanism. This differentiable interaction and physical feedback provide the necessary sensory feedback for optimal interaction with computing devices. As a result, a user’s intended actions - as they pertain to the playback of media on an MCD -can be achieved in a faster, smoother, and more reliable manner, allowing the user to enjoy the media more fulsomely or to better focus on the task at hand. It can further be appreciated that the ESC provides useful and important benefits to users with physical, mental or visual impairment, allowing such users to much more easily access content such as videos and music on MCDs, even if their ability to use a touchscreen is partially or completely compromised.

[0123] In some embodiments, the ESC can interact with paired computing devices directly, sending commands that are effectively interpreted by the paired device’s operating system and its native media control operations, thereby obviating the requirement for any additional software (such as browser extensions, plug-ins or proprietary applications) to be installed on the paired computing device. This advantage may be of particular value in corporate or institutional settings where management of multiple devices or security concerns restrict or complicate the addition or installation of software to paired devices that might be used with the device(s).

[0124] Through the implementation of Profiles or a proprietary application, an enormous number of applications that may reside on the paired computing devices can be controlled using the device. This control could extend to additional technologies, such as television, broadcast or other such media streaming devices; personal video recorders (PVR’s); or any other such playback technology as may be available. Further, the ability for a user of the device to create custom Profiles, effectively mapping each control mechanism to an action of their own requirement, ensures that the device could be used with a nearly limitless number of software applications (where such applications support control commands of the nature transmitted by the device).

[0125] In examples, the ESC’s direct, wireless connection (via a wireless technology such as WiFi, Bluetooth, Bluetooth LE or ANT+) to the paired computing device does not require a WiFi router, hub or other ancillary network for operation. Further, the ESC’s compact design and, in examples, battery powered nature enable it to be portable, facilitating its use in a wide variety of settings.

[0126] Furthermore, while particular kinds of user controls for ESCs have been described and depicted in connection with the figures, alternative user controls and arrangements of user controls are possible. For example, alternative to a particular user control described or depicted herein, or in some combination with one or more user controls described and depicted herein, an ESC may include a joystick controller. A joystick controller could, for example, be used to affect cursor location on the screen of the MCD, and / or to select navigation elements on the screen of the MCD, and / or other input actions as may be made possible by the operating system of an MCD that includes it.

[0127] Although the ESC has been described in language specific to structural features and / or methodological acts, it is to be understood that the ESC that may be defined in claims is not necessarilylimited to the specific features or acts described in the particular examples given herein. Rather, the specific features and acts are disclosed as example forms of implementing the ESC intended to guide the reader.

[0128] Clauses

[0129] The following clauses define various examples of apparatuses and / or systems contemplated in accordance with this description.

[0130] Clause 1. An apparatus for controlling at least a media player executing on a mobile computing device having a display screen, the apparatus comprising:

[0131] a frame dimensioned to receive and retain the mobile computing device while permitting at least the display screen to remain visible to a user;

[0132] a user control interface supported by the frame, the user control interface comprising a rotatable knob extending from the frame and dimensioned to be grasped and physically bi-directionally rotated with respect to the frame by hand; and

[0133] a control circuit within the frame, the control circuit in communication with the user control interface, wherein the control circuit is configured at least to cause wireless transmission to the mobile computing device of skip forward commands and skip backward commands responsive to rotations of the rotatable knob in respective directions with respect to the frame, thereby to control the media player.

[0134] Clause 2. The apparatus of clause 1, wherein the frame comprises:

[0135] a frame corner;

[0136] a first arm extending from the frame corner in a first direction, the first arm dimensioned to extend along at least a portion of a first edge of the mobile computing device to a first free end; and

[0137] a second arm extending from the frame corner in a second direction generally perpendicular to the first direction, the second arm dimensioned to extend along at least a portion of a second edge of the mobile computing device to a second free end,

[0138] wherein the rotatable knob is supported by the frame at the frame corner.

[0139] Clause 3. The apparatus of clause 2, wherein the frame further comprises:

[0140] a rear supporting surface extending both in the first direction from the second arm and in the second direction from the first arm, the rear supporting surface presenting a frontward-facing surface for receiving and supporting a back of the mobile computing device.

[0141] Clause 4. The apparatus of clause 3, wherein the frame further comprises:

[0142] a first retention wall extending in the second direction from the first arm, the firstretention wall spaced from and parallel to the frontward-facing surface of the rear supporting surface thereby to form a first retention channel therebetween for frictionally receiving and retaining the first edge of mobile computing device between the first retention wall and the rear supporting surface; and

[0143] a second retention wall extending in the first direction from the second arm, the second retention wall spaced from and parallel to the frontward-facing surface of the rear supporting surface thereby to form a second retention channel therebetween for frictionally receiving and retaining the second edge of mobile computing device between the second retention wall and the rear supporting surface.

[0144] Clause 5. The apparatus of clause 3, further comprising:

[0145] a support mechanism associated with a rearward-facing surface of the rear supporting surface, wherein the support mechanism is at least one of: a tabletop stand for holding the apparatus in an upright orientation on a generally horizontal surface, an attachment interface for attaching the apparatus to another object.

[0146] Clause 6. The apparatus of any one of clauses 1-5, wherein the user control interface further comprises:

[0147] at least one loop actuator;

[0148] wherein the control circuit is configured to cause transmission to the mobile computing device of one or more loop actuator commands responsive to actuation of the at least one loop actuator, thereby to control the media player.

[0149] Clause 7. The apparatus of clause 6, wherein for effecting actuation each of the at least one loop actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

[0150] Clause 8. The apparatus of any one of clauses 6-7, wherein each of the one or more loop actuator commands is selected from the group consisting of: a loop in command, a loop out command, and a loop clear command.

[0151] Clause 9. The apparatus of any one of clauses 1-8, wherein the user control interface further comprises:

[0152] at least one speed actuator;

[0153] wherein the control circuit is configured to cause transmission to the mobile computing device of one or more speed commands responsive to actuation of the at least one speed actuator, thereby to control the media player.

[0154] Clause 10. The apparatus of clause 9, wherein for effecting actuation each of the at least one speed actuator is dimensioned to be at least temporarily physically moved with respect to the frameby hand.

[0155] Clause 11. The apparatus of any one of clauses 9-10, wherein the at least one speed actuator comprises:

[0156] a speed increase actuator, wherein the control circuit is configured to cause transmission to the mobile computing device of a speed increase command responsive to actuation of the speed increase actuator.

[0157] Clause 12. The apparatus of any one of clauses 9-11, wherein the at least one speed actuator comprises:

[0158] a speed decrease actuator, wherein the control circuit is configured to cause transmission to the mobile computing device of a speed decrease command responsive to actuation of the speed decrease actuator.

[0159] Clause 13. The apparatus of any one of clauses 1-12, wherein the user control interface further comprises:

[0160] a play / pause actuator;

[0161] wherein the control circuit is configured to cause transmission to the mobile computing device of a play / pause command responsive to actuation of the play / pause actuator, thereby to control the media player.

[0162] Clause 14. The apparatus of clause 13, wherein for effecting actuation the play / pause actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

[0163] Clause 15. The apparatus of any one of clauses 1-14, wherein the user control interface further comprises:

[0164] a fullscreen actuator;

[0165] wherein the control circuit is configured to cause transmission to the mobile computing device of a fullscreen command responsive to the actuation of the fullscreen actuator, thereby to control the media player.

[0166] Clause 16. The apparatus of clause 15, wherein for effecting actuation the fullscreen actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

[0167] Clause 17. The apparatus of any one of clauses 1-16, wherein the user control interface further comprises:

[0168] a previous actuator;

[0169] wherein the control circuit is configured to transmit a previous command to the mobile computing device responsive to the actuation of the previous actuator, thereby to control the media player.

[0170] Clause 18. The apparatus of clause 17, wherein for effecting actuation the previous actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

[0171] Clause 19. The apparatus of any one of clauses 1-18, wherein the user control interface further comprises:

[0172] a next actuator;

[0173] wherein the control circuit is configured to cause transmission to the mobile computing device of a next command responsive to the actuation of the next actuator, thereby to control the media player.

[0174] Clause 20. The apparatus of clause 19, wherein for effecting actuation the next actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

[0175] Clause 21. The apparatus of any one of clauses 1-20, wherein the user control interface further comprises:

[0176] a return to zero actuator;

[0177] wherein the control circuit is configured to cause transmission to the mobile computing device of a return to zero command responsive to the actuation of the return to zero actuator, thereby to control the media player.

[0178] Clause 22. The apparatus of clause 21, wherein for effecting actuation the return to zero actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

[0179] Clause 23. The apparatus of any one of clauses 1-22, wherein the user control interface further comprises:

[0180] a mute actuator;

[0181] wherein the control circuit is configured to cause transmission to the mobile computing device of a mute command responsive to the actuation of the mute actuator, thereby to control the media player.

[0182] Clause 24. The apparatus of clause 23, wherein for effecting actuation the mute actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

[0183] Clause 25. The apparatus of any one of clauses 1-24, wherein the user control interface further comprises:

[0184] a save actuator;

[0185] wherein the control circuit is configured to cause transmission to the mobile computing device of a save command responsive to the actuation of the save actuator.

[0186] Clause 26. The apparatus of clause 25, wherein for effecting actuation the save actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

[0187] Clause 27. The apparatus of any one of clauses 1-26, wherein the user control interface further comprises:

[0188] a search actuator;

[0189] wherein the control circuit is configured to cause transmission to the mobile computing device of a search command responsive to the actuation of the search actuator.

[0190] Clause 28. The apparatus of clause 27, wherein for effecting actuation the search actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

[0191] Clause 29. The apparatus of any one of clauses 1-28, wherein the user control interface further comprises:

[0192] a menu actuator;

[0193] wherein the control circuit is configured to cause transmission to the mobile computing device of a menu command responsive to the actuation of the menu actuator.

[0194] Clause 30. The apparatus of clause 29, wherein for effecting actuation the menu actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

[0195] Clause 31. The apparatus of any one of clauses 1-30, wherein the user control interface further comprises:

[0196] a tab switch actuator;

[0197] wherein the control circuit is configured to cause transmission to the mobile computing device of a tab switch command to the mobile computing device responsive to the actuation of the tab switch actuator.

[0198] Clause 32. The apparatus of clause 31, wherein for effecting actuation the tab switch actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

[0199] Clause 33. The apparatus of any one of clauses 1-32, wherein the user control interface further comprises:

[0200] a slide potentiometer;

[0201] wherein the control circuit is configured to cause transmission to the mobile computing device of a respective command responsive to sliding of the slide potentiometer.

[0202] Clause 34. The apparatus of clause 33, wherein for effecting actuation the slide potentiometer is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

[0203] Clause 35. The apparatus of any one of clauses 33-34, wherein the control circuit is configured to cause transmission to the mobile computing device of a sound volume command responsive to sliding of the slide potentiometer.

[0204] Clause 36. The apparatus of any one of clauses 33-34, wherein the control circuit is configurable by a user via the user control interface to cause the respective command transmitted to the mobile computing device responsive to the sliding of the slide potentiometer to change from or to a sound volume command and at least one other command that is not a sound volume command.

[0205] Clause 37. The apparatus of clause 36, wherein the at least one other command is a display brightness command.

[0206] Clause 38. The apparatus of any one of clauses 1-37, wherein:

[0207] the user control interface further comprises at least one additional actuator extending from the frame and dimensioned to be at least temporarily physically moved with respect to the frame by hand for effecting a respective actuation; and

[0208] the control circuit is configured to cause transmission to the mobile computing device of at least one respective control command responsive to an actuation of a respective one of the at least one additional actuator.

[0209] Clause 39. The apparatus of any one of clauses 1-38, wherein the rotatable knob is a part of a rotary encoder that is electrically connected to the control circuit.

[0210] Clause 40. The apparatus of clause 39, wherein the rotary encoder is selected from the group consisting of: a conductive encoder, an optical encoder.

[0211] Clause 41. The apparatus of clause 39, wherein the rotary encoder provides a plurality of defined rotational positions to which the rotary encoder may be rotated.

[0212] Clause 42. The apparatus of clause 41, wherein the control circuit is configured to cause transmission to the mobile computing device of a skip forward command or a skip backward command corresponding to a single segment of a media being played by the media player responsive to the rotary encoder being rotated from one of the defined rotational positions to an immediately adjacent other one of the defined rotational positions in a respective direction.

[0213] Clause 43. The apparatus of clause 41, wherein the control circuit is configured to cause transmission to the mobile computing device of at least one skip forward command or at least one skip backward command each corresponding to a plurality of segments of a media being played by the media player responsive to the rotary encoder being rotated from one of the defined rotational positions to an immediately adjacent other one of the defined rotational positions in a respective direction.

[0214] Clause 44. The apparatus of clause 41, wherein the control circuit is configurable using the user control interface to switch between at least a first skip mode and a second skip mode,

[0215] wherein in the first skip mode the control circuit is configured to cause transmission to the mobile computing device of a skip forward command or a skip backward command corresponding to asingle segment of a media being played by the media player responsive to the rotary encoder being rotated from one of the defined rotational positions to an immediately adjacent other one of the defined rotational positions in a respective direction; and

[0216] wherein in the second skip mode the control circuit is configured to cause transmission to the mobile computing device of at least one skip forward command or at least one skip backward command each corresponding to a plurality of the segments of the media being played by the media player responsive to the rotary encoder being rotated from one of the defined rotational positions to an immediately adjacent other one of the defined rotational positions in a respective direction.

[0217] Clause 45. The apparatus of any one of clauses 42-44, wherein the single segment of the media corresponds to a single frame of digital video.

[0218] Clause 46. The apparatus of any one of clauses 42-44, wherein the single segment of the media corresponds to a smallest time increment into which the media is divided by the media player.

[0219] Clause 47. The apparatus of any one of clauses 1-46, wherein the control circuit is configured to receive communications transmitted from the mobile computing device and to adapt commands caused to be transmitted to the mobile computing device based on contents of the communications.

[0220] Clause 48. The apparatus of clause 47, wherein the communications transmitted from the mobile computing device contain data selected from the group consisting of: media player state data, media playback progress data, media playback mode data, apparatus state data, application state data, and combinations thereof.

[0221] Clause 49. A system for controlling a media player executing on a mobile computing device, the system comprising:

[0222] the apparatus of any one of clauses 1-48; and

[0223] a proprietary application executable on the mobile computing device, the proprietary application when executing containing the media player and operable to conduct two-way communications with the apparatus, the two-way communications including receiving the commands caused by the control circuit of the apparatus to be transmitted to the mobile computing device.

[0224] Clause 50. The system of clause 49, wherein the proprietary application contains the media player within a web browser executing within the proprietary application.

[0225] Clause 51. The system of clause 50, wherein the proprietary application comprises:

[0226] a non-transitory processor-readable medium embodying a computer program executable by at least one processor of the mobile computing device, the computer program comprising:

[0227] computer program code for storing a custom wireless profile in memory of the mobilecomputing device;

[0228] computer program code for executing the web browser, wherein the web browser incorporates the media player in a web page to display on the display device while the proprietary application is executing; and

[0229] computer program code for executing a wireless control manager for conducting two-way communications with the apparatus in accordance with the custom wireless profile, the wireless control manager also for conducting two-way communications with the web browser to conduct the controlling and monitoring of the media player in accordance with the two-way communications with the apparatus.

[0230] Clause 52. The system of clause 51, wherein the web browser comprises a control script module,

[0231] wherein the wireless control manager conducts the two-way communications with the control script module, the control script module configured to, in turn, conduct two-way communications with the media player in accordance with the two-way communications with the wireless control manager.

[0232] Clause 53. The system of any one of clauses 49-52, wherein the computer program further comprises:

[0233] computer program code for structuring memory of the mobile computing device to store user data about any stored or streaming media receivable by the media player for playback without altering content of the stored or streaming media.

[0234] Clause 54. The system of clause 53, wherein the user data comprises:

[0235] a loop list storing at least one defined loop in association with a media identifier of a respective instance of stored or streaming media, wherein each of the at least one defined loop comprises: a loop identifier, a loop start time and a loop end time.

[0236] Clause 55. The system of clause 54, wherein each of the at least one defined loop further comprises: a loop name.

[0237] Clause 56. The system of any one of clauses 54 and 55, wherein the computer program further comprises:

[0238] computer program code for automatically retrieving from the loop list, for selecting by a user using at least one of the apparatus and the proprietary application, one or more of the at least one defined loop, the automatically retrieving being responsive to a selection for receiving and playback by the media player of the instance of stored or streaming media corresponding to the media identifier with which the at least one defined loop is associated.

[0239] Clause 57. The system of clause 56, wherein the computer program further comprises:

[0240] computer program code for generating and displaying, on the display device in association with a media playback progress bar of the media player playing the stored or streaming media, an overlay comprising indicia of the loop start time and loop end time of a selected defined loop.

[0241] Clause 58. The system of clause 57, wherein the computer program further comprises:

[0242] computer program code for modifying at least one of the loop start time and the loop end time of a selected defined loop responsive to a respective nudge command transmitted by the apparatus to the mobile computing device responsive to an actuation of a nudge actuator; and

[0243] computer program code for modifying the indicia corresponding to the modifying of the at least one of the loop start and the loop end time.

[0244] Clause 59. The system of clause 58, wherein actuation of the nudge actuator in combination with the rotatable knob configures the control circuit of the apparatus to enter a temporary loop edit mode in which the control circuit causes transmission to the mobile computing device of move forward and move backwards commands for a selected one of the loop start time and the loop end time responsive to rotations of the rotatable knob in respective directions with respect to the frame.

[0245] Clause 60. The system of any one of clauses 49-59, wherein the proprietary application is configurable to enter into an alternative knob control mode in which the skip forward and skip backwards commands caused by the control circuit to be transmitted to the mobile computing device are respectively converted by the proprietary application to alternative commands, wherein the alternative commands are not skip forward or skip backward commands.

[0246] Clause 61. The system of clause 60, wherein the alternative commands are selected from the group consisting of: display screen navigation commands, menu navigation commands, media library navigation commands, cursor commands.

[0247] Clause 62. The apparatus of any one of clauses 1-48, wherein the control circuit is configurable to enter a temporary alternative knob control mode in which the control circuit causes transmission to the mobile computing device of alternative commands responsive to rotations of the rotatable knob in respective directions with respect to the frame, wherein the alternative commands are not skip forward or skip backward commands.

[0248] Clause 63. The apparatus of clause 62, wherein the alternative commands are selected from the group consisting of: display screen navigation commands, menu navigation commands, media library navigation commands, cursor commands.

Claims

CLAIMS1. An apparatus for controlling at least a media player executing on a mobile computing device having a display screen, the apparatus comprising: a frame dimensioned to receive and retain the mobile computing device while permitting at least the display screen to remain visible to a user; a user control interface supported by the frame, the user control interface comprising a rotatable knob extending from the frame and dimensioned to be grasped and physically bi-directionally rotated with respect to the frame by hand; and a control circuit within the frame, the control circuit in communication with the user control interface, wherein the control circuit is configured at least to cause wireless transmission to the mobile computing device of skip forward commands and skip backward commands responsive to rotations of the rotatable knob in respective directions with respect to the frame, thereby to control the media player.

2. The apparatus of claim 1, wherein the frame comprises: a frame comer; a first arm extending from the frame corner in a first direction, the first arm dimensioned to extend along at least a portion of a first edge of the mobile computing device to a first free end; and a second arm extending from the frame comer in a second direction generally perpendicular to the first direction, the second arm dimensioned to extend along at least a portion of a second edge of the mobile computing device to a second free end, wherein the rotatable knob is supported by the frame at the frame corner.

3. The apparatus of claim 2, wherein the frame further comprises: a rear supporting surface extending both in the first direction from the second arm and in the second direction from the first arm, the rear supporting surface presenting a frontward-facing surface for receiving and supporting a back of the mobile computing device.

4. The apparatus of claim 3, wherein the frame further comprises: a first retention wall extending in the second direction from the first arm, the first retention wall spaced from and parallel to the frontward-facing surface of the rear supporting surface thereby to form a first retention channel therebetween for frictionally receiving and retaining the first edge of mobile computing device between the first retention wall and the rear supporting surface; anda second retention wall extending in the first direction from the second arm, the second retention wall spaced from and parallel to the frontward-facing surface of the rear supporting surface thereby to form a second retention channel therebetween for frictionally receiving and retaining the second edge of mobile computing device between the second retention wall and the rear supporting surface.

5. The apparatus of claim 3, further comprising: a support mechanism associated with a rearward-facing surface of the rear supporting surface, wherein the support mechanism is at least one of: a tabletop stand for holding the apparatus in an upright orientation on a generally horizontal surface, an attachment interface for attaching the apparatus to another object.

6. The apparatus of any one of claims 1-5, wherein the user control interface further comprises: at least one loop actuator; wherein the control circuit is configured to cause transmission to the mobile computing device of one or more loop actuator commands responsive to actuation of the at least one loop actuator, thereby to control the media player.

7. The apparatus of claim 6, wherein for effecting actuation each of the at least one loop actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

8. The apparatus of any one of claims 6-7, wherein each of the one or more loop actuator commands is selected from the group consisting of: a loop in command, a loop out command, and a loop clear command.

9. The apparatus of any one of claims 1-8, wherein the user control interface further comprises: at least one speed actuator; wherein the control circuit is configured to cause transmission to the mobile computing device of one or more speed commands responsive to actuation of the at least one speed actuator, thereby to control the media player.

10. The apparatus of claim 9, wherein for effecting actuation each of the at least one speed actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

11. The apparatus of any one of claims 9-10, wherein the at least one speed actuator comprises : a speed increase actuator, wherein the control circuit is configured to cause transmission to the mobile computing device of a speed increase command responsive to actuation of the speed increase actuator.

12. The apparatus of any one of claims 9-11, wherein the at least one speed actuator comprises: a speed decrease actuator, wherein the control circuit is configured to cause transmission to the mobile computing device of a speed decrease command responsive to actuation of the speed decrease actuator.

13. The apparatus of any one of claims 1-12, wherein the user control interface further comprises: a play / pause actuator; wherein the control circuit is configured to cause transmission to the mobile computing device of a play / pause command responsive to actuation of the play / pause actuator, thereby to control the media player.

14. The apparatus of claim 13, wherein for effecting actuation the play / pause actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

15. The apparatus of any one of claims 1-14, wherein the user control interface further comprises: a fullscreen actuator; wherein the control circuit is configured to cause transmission to the mobile computing device of a fullscreen command responsive to the actuation of the fullscreen actuator, thereby to control the media player.

16. The apparatus of claim 15, wherein for effecting actuation the fullscreen actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

17. The apparatus of any one of claims 1-16, wherein the user control interface further comprises: a previous actuator; wherein the control circuit is configured to transmit a previous command to the mobile computing device responsive to the actuation of the previous actuator, thereby to control the media player.

18. The apparatus of claim 17, wherein for effecting actuation the previous actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

19. The apparatus of any one of claims 1-18, wherein the user control interface further comprises: a next actuator; wherein the control circuit is configured to cause transmission to the mobile computing device of a next command responsive to the actuation of the next actuator, thereby to control the media player.

20. The apparatus of claim 19, wherein for effecting actuation the next actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

21. The apparatus of any one of claims 1-20, wherein the user control interface further comprises: a return to zero actuator; wherein the control circuit is configured to cause transmission to the mobile computing device of a return to zero command responsive to the actuation of the return to zero actuator, thereby to control the media player.

22. The apparatus of claim 21, wherein for effecting actuation the return to zero actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

23. The apparatus of any one of claims 1-22, wherein the user control interface further comprises: a mute actuator;wherein the control circuit is configured to cause transmission to the mobile computing device of a mute command responsive to the actuation of the mute actuator, thereby to control the media player.

24. The apparatus of claim 23, wherein for effecting actuation the mute actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

25. The apparatus of any one of claims 1-24, wherein the user control interface further comprises: a save actuator; wherein the control circuit is configured to cause transmission to the mobile computing device of a save command responsive to the actuation of the save actuator.

26. The apparatus of claim 25, wherein for effecting actuation the save actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

27. The apparatus of any one of claims 1-26, wherein the user control interface further comprises: a search actuator; wherein the control circuit is configured to cause transmission to the mobile computing device of a search command responsive to the actuation of the search actuator.

28. The apparatus of claim 27, wherein for effecting actuation the search actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

29. The apparatus of any one of claims 1-28, wherein the user control interface further comprises: a menu actuator; wherein the control circuit is configured to cause transmission to the mobile computing device of a menu command responsive to the actuation of the menu actuator.

30. The apparatus of claim 29, wherein for effecting actuation the menu actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

31. The apparatus of any one of claims 1-30, wherein the user control interface further comprises: a tab switch actuator; wherein the control circuit is configured to cause transmission to the mobile computing device of a tab switch command to the mobile computing device responsive to the actuation of the tab switch actuator.

32. The apparatus of claim 31, wherein for effecting actuation the tab switch actuator is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

33. The apparatus of any one of claims 1-32, wherein the user control interface further comprises: a slide potentiometer; wherein the control circuit is configured to cause transmission to the mobile computing device of a respective command responsive to sliding of the slide potentiometer.

34. The apparatus of claim 33, wherein for effecting actuation the slide potentiometer is dimensioned to be at least temporarily physically moved with respect to the frame by hand.

35. The apparatus of any one of claims 33-34, wherein the control circuit is configured to cause transmission to the mobile computing device of a sound volume command responsive to sliding of the slide potentiometer.

36. The apparatus of any one of claims 33-34, wherein the control circuit is configurable by a user via the user control interface to cause the respective command transmitted to the mobile computing device responsive to the sliding of the slide potentiometer to change from or to a sound volume command and at least one other command that is not a sound volume command.

37. The apparatus of claim 36, wherein the at least one other command is a display brightness command.

38. The apparatus of any one of claims 1-37, wherein:the user control interface further comprises at least one additional actuator extending from the frame and dimensioned to be at least temporarily physically moved with respect to the frame by hand for effecting a respective actuation; and the control circuit is configured to cause transmission to the mobile computing device of at least one respective control command responsive to an actuation of a respective one of the at least one additional actuator.

39. The apparatus of any one of claims 1-38, wherein the rotatable knob is a part of a rotary encoder that is electrically connected to the control circuit.

40. The apparatus of claim 39, wherein the rotary encoder is selected from the group consisting of: a conductive encoder, an optical encoder.

41. The apparatus of claim 39, wherein the rotary encoder provides a plurality of defined rotational positions to which the rotary encoder may be rotated.

42. The apparatus of claim 41, wherein the control circuit is configured to cause transmission to the mobile computing device of a skip forward command or a skip backward command corresponding to a single segment of a media being played by the media player responsive to the rotary encoder being rotated from one of the defined rotational positions to an immediately adjacent other one of the defined rotational positions in a respective direction.

43. The apparatus of claim 41, wherein the control circuit is configured to cause transmission to the mobile computing device of at least one skip forward command or at least one skip backward command each corresponding to a plurality of segments of a media being played by the media player responsive to the rotary encoder being rotated from one of the defined rotational positions to an immediately adjacent other one of the defined rotational positions in a respective direction.

44. The apparatus of claim 41, wherein the control circuit is configurable using the user control interface to switch between at least a first skip mode and a second skip mode, wherein in the first skip mode the control circuit is configured to cause transmission to the mobile computing device of a skip forward command or a skip backward command corresponding to a single segment of a media being played by the media player responsive to the rotary encoder beingrotated from one of the defined rotational positions to an immediately adjacent other one of the defined rotational positions in a respective direction; and wherein in the second skip mode the control circuit is configured to cause transmission to the mobile computing device of at least one skip forward command or at least one skip backward command each corresponding to a plurality of the segments of the media being played by the media player responsive to the rotary encoder being rotated from one of the defined rotational positions to an immediately adjacent other one of the defined rotational positions in a respective direction.

45. The apparatus of any one of claims 42-44, wherein the single segment of the media corresponds to a single frame of digital video.

46. The apparatus of any one of claims 42-44, wherein the single segment of the media corresponds to a smallest time increment into which the media is divided by the media player.

47. The apparatus of any one of claims 1 -46, wherein the control circuit is configured to receive communications transmitted from the mobile computing device and to adapt commands caused to be transmitted to the mobile computing device based on contents of the communications.

48. The apparatus of claim 47, wherein the communications transmitted from the mobile computing device contain data selected from the group consisting of: media player state data, media playback progress data, media playback mode data, apparatus state data, application state data, and combinations thereof.

49. A system for controlling a media player executing on a mobile computing device, the system comprising: the apparatus of any one of claims 1-48; and a proprietary application executable on the mobile computing device, the proprietary application when executing containing the media player and operable to conduct two-way communications with the apparatus, the two-way communications including receiving the commands caused by the control circuit of the apparatus to be transmitted to the mobile computing device.

50. The system of claim 49, wherein the proprietary application contains the media player within a web browser executing within the proprietary application.

51. The system of claim 50, wherein the proprietary application comprises: a non-transitory processor-readable medium embodying a computer program executable by at least one processor of the mobile computing device, the computer program comprising: computer program code for storing a custom wireless profde in memory of the mobile computing device; computer program code for executing the web browser, wherein the web browser incorporates the media player in a web page to display on the display device while the proprietary application is executing; and computer program code for executing a wireless control manager for conducting two- way communications with the apparatus in accordance with the custom wireless profile, the wireless control manager also for conducting two-way communications with the web browser to conduct the controlling and monitoring of the media player in accordance with the two-way communications with the apparatus.

52. The system of claim 51, wherein the web browser comprises a control script module, wherein the wireless control manager conducts the two-way communications with the control script module, the control script module configured to, in turn, conduct two-way communications with the media player in accordance with the two-way communications with the wireless control manager.

53. The system of any one of claims 49-52, wherein the computer program further comprises: computer program code for structuring memory of the mobile computing device to store user data about any stored or streaming media receivable by the media player for playback without altering content of the stored or streaming media.

54. The system of claim 53, wherein the user data comprises: a loop list storing at least one defined loop in association with a media identifier of a respective instance of stored or streaming media, wherein each of the at least one defined loop comprises: a loop identifier, a loop start time and a loop end time.

55. The system of claim 54, wherein each of the at least one defined loop further comprises: a loop name.

56. The system of any one of claims 54 and 55, wherein the computer program further comprises: computer program code for automatically retrieving from the loop list, for selecting by a user using at least one of the apparatus and the proprietary application, one or more of the at least one defined loop, the automatically retrieving being responsive to a selection for receiving and playback by the media player of the instance of stored or streaming media corresponding to the media identifier with which the at least one defined loop is associated.

57. The system of claim 56, wherein the computer program further comprises: computer program code for generating and displaying, on the display device in association with a media playback progress bar of the media player playing the stored or streaming media, an overlay comprising indicia of the loop start time and loop end time of a selected defined loop.

58. The system of claim 57, wherein the computer program further comprises: computer program code for modifying at least one of the loop start time and the loop end time of a selected defined loop responsive to a respective nudge command transmitted by the apparatus to the mobile computing device responsive to an actuation of a nudge actuator; and computer program code for modifying the indicia corresponding to the modifying of the at least one of the loop start and the loop end time.

59. The system of claim 58, wherein actuation of the nudge actuator in combination with the rotatable knob configures the control circuit of the apparatus to enter a temporary loop edit mode in which the control circuit causes transmission to the mobile computing device of move forward and move backwards commands for a selected one of the loop start time and the loop end time responsive to rotations of the rotatable knob in respective directions with respect to the frame.

60. The system of any one of claims 49-59, wherein the proprietary application is configurable to enter into an alternative knob control mode in which the skip forward and skip backwards commands caused by the control circuit to be transmitted to the mobile computing device are respectively converted by the proprietary application to alternative commands, wherein the alternative commands are not skip forward or skip backward commands.

61. The system of claim 60, wherein the alternative commands are selected from the group consisting of: display screen navigation commands, menu navigation commands, media library navigation commands, cursor commands.

62. The apparatus of any one of claims 1-48, wherein the control circuit is configurable to enter a temporary alternative knob control mode in which the control circuit causes transmission to the mobile computing device of alternative commands responsive to rotations of the rotatable knob in respective directions with respect to the frame, wherein the alternative commands are not skip forward or skip backward commands.

63. The apparatus of claim 62, wherein the alternative commands are selected from the group consisting of: display screen navigation commands, menu navigation commands, media library navigation commands, cursor commands.

Citation Information

Patent Citations

  • Docking station with knob display screen

    CN222127185U

  • Docking system and mixer for portable media devices with graphical interface

    US20070280489A1

  • Method and system for downloading and managing an edited media stream to a portable media device

    US20100042920A1

  • Tactile to touch input device

    US20140247246A1

  • Holder for a tablet computer

    US20160161989A1