A plethora of Apple patents have appeared at the US Patent & Trademark Office. Here's a summary of each.
Patent number 2010062905 involves a method for a quickstart workout generation and calibration. Systems and methods for generating a quick start workout template and calibrating an electronic device using the workout template are provided. The electronic device may create and store a workout template to be used in conjunction with a workout. The workout template may be selected in a quick start fashion to restart the same workout. The workout template may be defined at least in part by a selection of any suitable workout goal and/or any suitable associated media. If the media associated with the workout goal is changed or is removed, a new workout template may be created. The electronic device may be calibrated or recalibrated using the workout template. If the electronic device is calibrated or re-calibrated with respect to a particular sensor, the electronic device may use the calibration in conjunction with any suitable workout template and the sensor to more accurately monitor the user's workout. The inventors are Benjamin Andrew Rottler, Allen P. Haughay and Ryan Perry.
Patent number 2010064255 is for contextual menus in an electronic device. A system and method for displaying menus of selectable options to a user are provided. The menus may include options that are contextually related to a current mode of the device to provide relevant options to a user. The electronic device modes may include, for example, a media mode, a radio mode, a workout mode, a calendar or event mode, a clock mode, a stopwatch mode, or any other suitable mode. To further enhance a user's experience, the displayed menus may not cover the entirety of the screen such that a portion of the content associated with a current mode or application may be visible, thus providing context to the displayed options. The inventors are Benjamin Andrew Rottler and Policarpo Wood.
Patent number 2010063964 involves portable browsing for information retrieval. An integrated searching/browsing mechanism employs user-constructed information hierarchies that represent a cognitive framework for the organization of information. The hierarchies are independent of the information itself. This feature permits them to be shared among multiple users, and applied to any of a variety of different sources of information. The hierarchical organization that is provided by the framework gives the user the ability to browse around any available document database in a manner that is intuitive to the user. Two or more hierarchies can be combined to locate documents which match the criteria of both hierarchies, and thereby refine search results to an appropriate level. A relevance feedback mechanism further enhances the browsing experience, by concentrating the search results in areas that are most relevant to documents selected as being of particular interest. The inventors are Richard Daniel Borovoy, Michael Graves, Michael Robert Hanson and Nagabhushan Rao Machiraju.
Patent number 2010062615 is for a dock with a flippable connector. A dock includes a moveable connector to allow connection to a handheld electronic device. Generally, the connector moves between a closed position and an open position where the connector is placed in at least one substantially upright position for receiving a handheld electronic device. The connector may be hidden from view or lie flush relative to the body of the dock, thereby making the dock more portable and easily organized with other objects, e.g. in stacking. Various motions can be used to move the connector. Examples include one or more rotations, translations, and/or the like. Various retention mechanisms may be employed to retain the connector in an open position when connected to the media player. Also, various electrical mechanisms can be used to couple the movable connector to a fixed printed circuit board (PCB) contained inside the body of the dock. The inventor is Chris Prest.
Patent number 20100609667 is for an angularly dependent display optimized for multiple viewing angles. Methods and apparatus for providing optimized gamma settings for each of a plurality of viewing angles and/or device orientations. In certain types of display devices, off-axis viewing leads to contrast degradation and/or color aberrations in a perceived image, as luminance values depend on the angle at which the output is viewed. By remapping grayscale and/or color values to new output voltages, an image can be presented at an optimized luminance level when viewed from any specific angle. In some embodiments, the display device comprises an inclination sensor adapted to sense device rotation about at least one axis. Display parameter optimization logic reads data from the inclination sensor and automatically adjusts the display to an optimized gamma setting. The inventors are Cheng Chen, Wei Chen, Victor Hao-En Yin and John Z. Zhong.
Patent number 2010060568 is for a curved surface input device with normalized capacitive sensing. A curved surface input device with normalized capacitive sensing is disclosed. The input device can normalize capacitive sensing through an overlay having a varying thickness, such as an overlay with a curved surface. The capacitive sensing normalization can be implemented in software, hardware or a combination of software and hardware. A software implementation for normalizing capacitive sensing can comprise adjusting the sensitivity of a sensing operation associated with different sensor elements of the input device. A hardware implementation for normalizing capacitive sensing can comprise adjusting a hardware configuration of the input device associated with one or more physical parameters that can influence the capacitive sensitivity of the sensor elements, such as an area of the sensor elements, a distance between the sensor elements and other conductive input device elements (such as a ground plane), and a dielectric constant associated with the overlay. The inventors are Joseph Fisher and Erturk Kocalar.
Patent number 2010060568 involves a system and method for revising Boolean and arithmetic operations. Disclosed are systems, methods, computer readable media and special purpose processors for obfuscating code. The method includes extracting an operation within program code, selecting a formula to perform the equivalent computation as the extracted operation, and replacing the extracted operation with the selected formula. The formula can be selected randomly or deterministically. The extracted operation can be an arithmetic operation or a Boolean operation. The inventors are Mathieu Ciet, Augustin J. Farrugia, Filip Toma Paun and Jean-Francois Riendeau.
Patent number 2010058303 involves a system and method for conditional expansion obfuscation. Disclosed are systems, methods, and computer readable-media for obfuscating code through conditional expansion obfuscation. The method includes identifying a conditional expression in a computer program, identifying a sequence of conditional expressions that is semantically equivalent to the conditional expression, and replacing the conditional expression with the semantically equivalent sequence of conditional expressions. One option replaces each like conditional expression in the computer program with a diverse set of sequences of semantically equivalent conditional expressions. A second option rearranges computer instructions that are to be processed after the sequence of conditional expression is evaluated so that a portion of the instructions is performed before the entire sequence of conditional expressions is evaluated. A third option performs conditional expansion obfuscation of a conditional statement in combination with branch extraction obfuscation. The inventors are Ginger M. Myles, Tanya Michelle Lattner, Julien Lerouge and Augustin J. Farrugia.
Patent number 2010058301 is for a system and method for branch extraction obfuscation. Disclosed e systems, methods, and computer readable-media for obfuscating code. The method includes extracting a conditional statement from a computer program, creating a function equivalent to the conditional statement, creating a pointer that points to the function, storing the pointer in an array of pointers, replacing the conditional statement with a call to the function using the pointer at an index in the array, and during runtime of the computer program, dynamically calculating the index corresponding to the pointer in the array. In one aspect, a subset of instructions is extracted from a path associated with the conditional statement and the subset of instructions is placed in the function to evaluate the conditional statement. In another aspect, the conditional statement is replaced with a call to a select function that (1) calculates the index into the array, (2) retrieves the function pointer from the array using the index, and (3) calls the function using the function pointer. Calls can be routed through a select function before the function pointer is used to call the function evaluating the conditional statement. Each step in the method can be applied to source code of the computer program, an intermediate representation of the computer program, and assembly code of the computer program. The inventors are Ginger M. Myles, Tanya Michelle Lattner, Julien Lerouge and Augustin J. Farrugia.