Today Apple made it abundantly clear that they have noticed all those iPhone-esque smartphones, and filed a patent-infringement suit against HTC claiming the company has cribbed 20 of their iPhone-related technologies in their own Android and Windows Mobile phones.
The theme among these 20 patents (see them all here in a gallery, via Gizmodo) isn’t 100 percent about hardware; it’s more about user interface, like flick-scrolling, pop-up calendar and message alerts, and swipe-call-answering. Elements that, in fact, are not specific to HTC. Problems that, in fact, are about the operating system HTC uses.
Should Apple have a problem with Android? Of course, they should. The widening adoption of Google’s platform is a threat, and a real one–especially if companies like HTC keep creating attractive and highly customizable user interfaces like their Sense setup. Sure, Apple may have “reinvented the mobile phone,” as the press release announcing the suit boldly claims. But if one insists on being a trend setter, other companies are going to follow suit.
But the problem just isn’t with little ol’ HTC. Why not Motorola? Why not Google? Because when you want to make a point without picking a fight with the big kid, you aim your first shot as his scrawny friend to get the big kid to turn his head. “Watch out, pal; ’cause the next one’s comin’ at you!”
Smart money is that this is only the tip of the iceberg–that Apple is sharpening its claws for an eventual showdown with Google. Will future versions of Android borrow less from Apple? Or is The Goog ready for a fight? It may seem like legal trivializing, but the future landscape of the most important computing platform–smartphones–is most certainly at stake.
_ The gallery portion of this article is reposted from Gizmodo, the world’s most fun technology website, focused on gadgets and how they make our lives better, worse, and more absurd._
U.S. PATENT NO. 7,657,849
Unlocking a device by performing gestures on an unlock image A device with a touch-sensitive display may be unlocked via gestures performed on the touch-sensitive display. The device is unlocked if contact with the display corresponds to a predefined gesture for unlocking the device. The device displays one or more unlock images with respect to which the predefined gesture is to be performed in order to unlock the device. The performance of the predefined gesture with respect to the unlock image may include moving the unlock image to a predefined location and/or moving the unlock image along a predefined path. The device may also display visual cues of the predefined gesture on the touch screen to remind a user of the gesture.
U.S. PATENT NO. 7,362,331
Time-based, non-constant translation of user interface objects between states The present invention relates to a method for moving objects within the graphical user interface (GUI) of an operating system in a manner that provides a transitional effect between window states, which is pleasing to the user. This transitional effect includes changing the shape of a window while scaling and moving the window between two different sizes and positions. In one embodiment of the present invention, the transitional effect may be employed as a window is minimized into an icon, or restored from an icon. In another embodiment of the present invention, the transitional effect is employed as a window is minimized within its title bar, or restored therefrom. The rate of movement of objects is controlled in a non-linear manner, to further enhance the pleasing effect.
U.S. PATENT NO. 7,479,949
**Touch screen device, method, and graphical user interface for determining commands by applying heuristics ** A computer-implemented method for use in conjunction with a computing device with a touch screen display comprises: detecting one or more finger contacts with the touch screen display, applying one or more heuristics to the one or more finger contacts to determine a command for the device, and processing the command. The one or more heuristics comprise: a heuristic for determining that the one or more finger contacts correspond to a one-dimensional vertical screen scrolling command, a heuristic for determining that the one or more finger contacts correspond to a two-dimensional screen translation command, and a heuristic for determining that the one or more finger contacts correspond to a command to transition from displaying a respective item in a set of items to displaying a next item in the set of items.
U.S. PATENT NO. 7,469,381
List scrolling and document translation, scaling, and rotation on a touch-screen display In accordance with some embodiments, a computer-implemented method for use in conjunction with a device with a touch screen display is disclosed. In the method, a movement of an object on or near the touch screen display is detected. In response to detecting the movement, an electronic document displayed on the touch screen display is translated in a first direction. If an edge of the electronic document is reached while translating the electronic document in the first direction while the object is still detected on or near the touch screen display, an area beyond the edge of the document is displayed. In response to detecting that the object is no longer on or near the touch screen display, the document is translated in a second direction until the area beyond the edge of the document is no longer displayed.
U.S. PATENT NO. 5,920,726
System and method for managing power conditions within a digital camera device Digital cameras and methods that provide for a rapid camera power-on sequence. A warm-sleep state is defined in which the camera and nearly all of its internal components are shut down, yet just enough information is retained within high speed volatile storage and processing units to rapidly return the camera to full operating state. The warm-sleep state is managed to consume a minimum amount of power to keep the vital information intact. Upon receipt of a power-on indication, the camera then transitions from the warm-sleep state to full operation by simply activating the processing units, and continuing operation from the state it was in immediately prior to the power-off request.
U.S. PATENT NO. 7,633,076
**Automated response to and sensing of user activity in portable devices ** The various methods and devices described herein relate to devices which, in at least certain embodiments, may include one or more sensors for providing data relating to user activity and at least one processor for causing the device to respond based on the user activity which was determined, at least in part, through the sensors. The response by the device may include a change of state of the device, and the response may be automatically performed after the user activity is determined.
U.S. PATENT NO. 7,383,453
Conserving Power By Reducing Voltage Supplied To An Instruction-Processing Portion Of A Processor One embodiment of the present invention provides a system that facilitates reducing static power consumption of a processor. During operation, the system receives a signal indicating that instruction execution within the processor is to be temporarily halted. In response to this signal, the system halts an instruction- processing portion of the processor, and reduces the voltage supplied to the instruction-processing portion of the processor. Full voltage is maintained to a remaining portion of the processor, so that the remaining portion of the processor can continue to operate while the instruction-processing portion of the processor is in reduced power mode.
U.S. PATENT NO. 5,455,599
Object-oriented graphic system An object-oriented graphic system is disclosed including a processor with an attached display, storage and object-oriented operating system. The graphic system builds a component object in the storage of the processor for managing graphic processing. The processor includes an object for connecting one or more graphic devices to various objects responsible for tasks such as graphic accelerators, frame buffers, page description languages, and vector engines. The system is fully extensible and includes polymorphic processing built into each of the support objects.
U.S. PATENT NO. 6,424,354
Object-oriented event notification system with listener registration of both interests and methods An event notification system for propagating object-change information. The notification system supports change notification without queues in an object-based application or operating system and can be scaled to propagate large numbers of events among a large plurality of objects. The event notification system interconnects a plurality of event source and event receiver objects. Any object, such as a command object, may operate as either an event receiver object, an event source object or both. A notification object is created by a source object to transport, from a source to a receiver, descriptive information about a change, which includes a particular receiver object method and a pointer to the source object that sent the notification. A receiver object must register with a connection object its “interest” in receiving notification of changes; specifying both the event type and the particular source object of interest. After establishing such connections, the receiver object receives only the events of the specified type for the source objects “of interest” and no others. This delegation of event selection avoids central event queuing altogether and so limits receiver object event processing that the invention can be scaled to large systems operating large numbers of objects.
U.S. PATENT NO. 5,481,721
Method for providing automatic and dynamic translation of object oriented programming language-based message passing into operation system message passing using proxy objects The present invention provides a method and apparatus for the distribution of objects and the sending of messages between objects that are located in different processes. Initially, a “proxy” object is created in the same process as a sender object. This proxy acts as a local receiver for all objects in the local program. When the proxy receives a message, the message is encoded and transmitted between programs as a stream of bytes. In the remote process, the message is decoded and executed as if the sender was remote. The result follows the same path, encoded, transmitted, and then decoded back in the local process. The result is then provided to the sending object.
U.S. PATENT NO. 5,566,337
Method and apparatus for distributing events in an operating system In a computer including an operating system, an event producer for generating an event and detecting that an event has occurred in the computer and an event consumer which need to be informed when events occur in the computer, a system for distributing events including a store for storing a specific set of events of which the at least one event consumer is to be informed, an event manager control unit for receiving the event from the event producer, comparing the received event to the stored set of events, and distributing an appropriate event to an appropriate event consumer, and a distributor for receiving the event from the control unit and directing the control unit to distribute an appropriate event to an appropriate event consumer.
U.S. PATENT NO. 5,929,852
**Encapsulated network entity reference of a network component system ** A network-oriented component system efficiently accesses information from a network resource located on a computer network by creating an encapsulated network entity that contains a reference to that resource. The encapsulated entity is preferably implemented as a network component stored on a computer remotely displaced from the referenced resource. In addition, the encapsulated entity may be manifested as a visual object on a graphical user interface of a computer screen. Such visual manifestation allows a user to easily manipulate the entity in order to display the contents of the resource on the screen or to electronically forward the entity over the network.
U.S. PATENT NO. 5,946,647
System and method for performing an action on a structure in computer-generated data A system and method causes a computer to detect and perform actions on structures identified in computer data. The system provides an analyzer server, an application program interface, a user interface and an action processor. The analyzer server receives from an application running concurrently data having recognizable structures, uses a pattern analysis unit, such as a parser or fast string search function, to detect structures in the data, and links relevant actions to the detected structures. The application program interface communicates with the application running concurrently, and transmits relevant information to the user interface. Thus, the user interface can present and enable selection of the detected structures, and upon selection of a detected structure, present the linked candidate actions. Upon selection of an action, the action processor performs the action on the detected structure.
U.S. PATENT NO. 5,969,705
Message protocol for controlling a user interface from an inactive application program Method and apparatus for a first process operative in a computer system controlling a user interface on a computer system display under control of a second process operative in the computer system. An event handler is installed for the second process, the event handler servicing events generated for controlling the user interface display under control of the second process. The first process may then perform a first set of functions in the computer system. The first process generates events for controlling the user interface display, the events related to the functions performed by the first process. The event handler receives the events generated by the first process and updates the user interface on the computer system display according to the events generated by the first process and received by the event handler.
U.S. PATENT NO. 6,275,983
Object-oriented operating system An apparatus for enabling an object-oriented application to access in an object-oriented manner a procedural operating system having a native procedural interface is disclosed. The apparatus includes a computer and a memory component in the computer. A code library is stored in the memory component. The code library includes computer program logic implementing an object-oriented class library. The object-oriented class library comprises related object-oriented classes for enabling the application to access in an object-oriented manner services provided by the operating system. The object-oriented classes include methods for accessing the operating system services using procedural function calls compatible with the native procedural interface of the operating system. The computer processes object-oriented statements contained in the application and defined by the class library by executing methods from the class library corresponding to the object-oriented statements.
U.S. PATENT NO. 5,915,131
Method and apparatus for handling I/O requests utilizing separate programming interfaces to access separate I/O services A computer system handling multiple applications wherein groups of I/O services are accessible through separate application programming interfaces. Each application has multiple application programming interfaces by which to access different families of I/O services, such as I/O devices.
U.S. PATENT NO. RE39,486
Extensible, replaceable network component system An extensible and replaceable network-oriented component system provides a platform for developing networking navigation components that operate on a variety of hardware and software computer systems. These navigation components include key integrating components along with components configured to deliver conventional services directed to computer networks, such as Gopher-specific and Web-specific components. Communication among these components is achieved through novel application programming interfaces (APIs) to facilitate integration with an underlying software component architecture. Such a high-modular cooperating layered-arrangement between the network component system and the component architecture allows any existing component to be replaced, and allows new components to be added, without affecting operation of the network component system.
Corinne Iozzio is the Editor-in-Chief of Popular Science. She oversees an award-winning crew of science journalists—both editors and writers—who are obsessed with shining a light on the thousands of ways science and technology transform our lives daily. She lives in Washington Heights in New York City (or, as she affectionately refers to it, “Upstate Manhattan”) with her partner, an ever-expanding collection of vintage hand-blown glass, and a talkative tuxedo cat hellbent on knocking it all to pieces.