Future Apple operating systems may be even more “animated,” based on some work Apple is doing. An Apple patent (number 20100306680) for a framework for designing a physics-based graphic user interface has appeared at the US Patent & Trademark Office.
A graphics development framework for designing physics-based graphical user interfaces is described. According to one embodiment, visually linkable patches are displayed in a first window of a graphics development framework, where the patches represent a graphics composition which when rendered, animate a physical movement of a graphics object of the physics-based graphical user interface.
A feedback patch is displayed to visually provide a feedback from an output of the composition to an input of the composition, such that a subsequent physical movement of the graphics object is determined based on a previous physical movement of the graphics object, without requiring a user to program source code of the displayed patches. A result of rendering is instantly displayed in a second window of the graphics development framework, simulating the physical movement of the graphical object. Other methods and apparatuses are also described. The inventors of the patent are Kevin Quennesson and Alessandro Sabatelli.
Here’s Apple’s background and summary of the invention: “It is known in the art of computer graphics to create motion graphics programs called ‘compositions.’ Compositions are a relatively simple way in which a user can intuitively create motion graphical effects (such as a moving background, flashing text, etc.) without extensive knowledge of how to program a computer. An exemplary program that allows for the creation of composition files is known as the Quartz Composer, available from Apple.
“Quartz Composer is based on and brings together several graphical and non-graphical technologies, such as Quartz 2D, Core Image, Core Video, OpenGL, QuickTime, MIDI System Services, and Real Simple Syndication. As a result, once created, compositions can be incorporated into any number of applications, such as iPhoto, iMove, iChat, etc.
“When creating a composition file, the editor portion of the Quartz Composer program contains a grid for assembling and connecting ‘patches,’ which are selected from a library. Patches are like functions, and may take input parameters (the left side of the patches) and provide output results (the right side of the patches). Within the editor, patches can be visually connected together by links to create a composition which essentially defines the data flow or the manner in which graphical motion data is processed by the composition. A benefit of the Quartz Composer format is the ease with which a user can quickly create a relatively complicated graphical composition.
“In addition, physics systems are of growing importance for user interfaces, such as the well-known swipe or scrolling with inertia and bounce features from the iPhone of Apple Inc. Physics-based user interfaces (UIs) provide a more fluid and natural way for users to interact with computer systems. However, such systems as they try to model more advanced behaviors (such as spring systems), are difficult to design for non-specialists and are out of reach of ordinary designers. There has been a lack of user-friendly graphics design framework for designing physics-based graphical user interfaces (GUIs).
“A graphics development framework for designing physics-based graphical user interfaces is described herein. A graphics development framework for designing physics-based graphical user interfaces is described herein. According to one embodiment, visually linkable patches are displayed in a first window of a graphics development framework, where the patches represent a graphics composition as a part of a physics-based graphical user interface (GUI) which when rendered, animates a physical behavior of a graphics object of the physics-based GUI.
“A feedback patch is displayed to visually provide a feedback from an output of the composition to an input of the composition, such that a subsequent physical movement of the graphics object is determined based on a previous physical movement of the graphics object, without requiring a user to program source code of the displayed patches. A result of rendering is instantly displayed in a second window of the graphics development framework, simulating the physical behavior of the graphical object.”
— Dennis Sellers