text:
|Publication number
|Publication type
|Application number
|Publication date
|Aug 29, 2000
|Filing date
|Feb 13, 1998
|Priority date
|Feb 14, 1997
|Fee status
|Publication number
|David W. McComb, James L. Long, Mike Stephenson
|Original Assignee
|Velocity.Com, Inc.
|Export Citation
|BiBTeX, EndNote, RefMan
|Patent Citations (15), Referenced by (117), Classifications (11), Legal Events (8)
|External Links: USPTO, USPTO Assignment, Espacenet
The present invention relates to and claims priority from U.S. Provisional application Ser. No. 60/038,387 entitled "SOFTWARE APPLICATIONS AS DATA" filed on Feb. 14, 1997, U.S. Provisional Application Ser. No. 60/037,941 entitled "CRUCIBLE QUERY SYSTEM" filed on Feb. 14, 1997, and U.S. Provisional Application Ser. No. 60/038,390 entitled "DEVICE INDEPENDENT WINDOW LAYOUT FOR GRAPHICAL DISPLAY OF INFORMATION" filed on Feb. 14, 1997.
1. Field of the Invention
The present invention relates to patented U.S. patent application Ser. No. 09/023,036 entitled "ORGANICWARE APPLICATIONS FOR COMPUTER SYSTEMS" and patented U.S. patent application Ser. No. 09/023,167 entitled "CRUCIBLE QUERY SYSTEM", all assigned to the assignee of the present invention, filed concurrently herewith, the teachings of which are incorporated herein by reference in their entirety.
2. Relevant Background
Computer pictures or images drawn on a computer screen are called computer graphics. Computer graphic systems store graphics internally in digital form. The picture is broken up into tiny picture elements or pixels. Thus, a computer picture or graphic is actually an aggregation of individual picture elements or pixels. Graphic processing for display of information is a critical problem for presenting information in an efficient, ergonomic manner.
Conventional computer graphic systems use image primitives known as images, bitmaps, or pixel maps to represent computer imagery as an aggregation of pixels. These primitives represent a two-dimensional array of pixel attributes and their respective digital values. Typically, such a primitive is expressed as a "struct" which is a data structure that contains a pointer to pixel data, a pixel size, scan line size, bounds, and optionally a reference to a color table. These primitives serve as a frame buffer and as a frame storage specification.
Current graphical display systems have a hardware component and a software component. The hardware component comprises a display such a cathode ray tube (CRT) and a display adapter that drives signals (e.g. RGB signals) to the display. A wide variety of displays are available that vary in size, resolution, color depth, and readability. Users choose a particular display to meet particular application criteria such as cost, size, and effectiveness. Although the present invention does not directly modify the hardware component of a graphic display system, it is important to note that an effective windowing and viewing system (i.e., the software component) should be readily adaptable to display information effectively and ergonomically on any of a wide variety of display devices. This is particularly true in distributed application and distributed data base applications in which users may wish to access the application or data base from any of a wide variety of display devices. Until now, it has been extremely complex to develop a distributed application that could efficiently service this wide variety of display devices.
Current windowing systems create a window for every running application that needs to communicate to a user through the graphical interface. A particular application may have more than one window in some instances. The user interface portion of the operating system (e.g., windows, OS/2, UNIX) may also generate windows directly to communicate through the graphical user interface. Within each window, a number of views are defined. Each view is directed towards a specific task being completed by the application. For example, a word processing application may have a main view that provides a representation of a document and the number of tools that can be used to edit the document. Another view might be a dialog box used to communicate information to a user. These views are established within the application and may overlap each other as needed.
It is known to enable views to change their appearance based on certain states of the application or machine. An active view, for example, may be colored differently than an inactive view which may appear dimmed. While these changes known in the prior art do convey information to the user, they do not effect the content or component objects that make up a view. Each view is filled with one or more component objects. These component graphical objects each comprise data or state information together with methods (i.e., executable instructions) that enable the data to be displayed in a desired format.
One of the most important aspects of a modern computing system is the interface between the human user and the machine. The earliest and most popular type of interface was text based. In these systems, the user communicated with the machine by typing text characters on a keyboard and the machine communicated with the user by displaying text characters on a display screen. Such interfaces are also referred to as command line interfaces. More recently, graphic user interfaces have become popular whereby the machine communicates with the user by displaying a combination of text and graphics on a display screen and the user communicates with the machine both by typing text commands and manipulating the displayed pictures with a pointing device such as a mouse.
A typical graphic user interface is called a window environment. Examples include Microsoft Windows, IBM OS/2 and X Windows running on a UNIX operating system. In a typical window environment, the graphic display portrayed on the display screen is arranged to resemble the surface of an electronic desktop and each application program running on the computer is represented as one or more electronic windows displayed in rectangular regions of the screen.
Each window region generally displays information that is generated by the associated application program. There may be several window regions simultaneously displayed on the desktop each representing information generated by a different application. An application presents information to the user through each window by drawing or painting images, a graphic and text within the window region. The user communicates with the application by pointing at objects in the window region with a cursor which is controlled by a pointing device and manipulating or moving the objects. The window regions may also be moved around on the display screen and changed in size and appearance so that the user can arrange the display in a convenient manner.
Each window region typically includes a number of graphical objects or components such as sizing boxes, buttons and scroll bars. These features represent user interface devices that the user can point at with a cursor to select and manipulate. When the devices are selected or manipulated, the underlying application program is informed via the graphic interface that the control has been manipulated by the user.
In general, the window environment is supported by or part of an operating system running on the computer. The operating system provides an interface to application (i.e., an application programmer's interface) that allows the application to pass messages to the operating system that enable the operating system to manipulate the display, and return messages from user I/O components such as a mouse or keyboard to the application. The application program interacts with the operating system to provide a higher level of functionality and perform a specific task. The application program typically makes use of the operating system functions by sending out a series of task commands or system calls.
The method of handling screen displays varies from computer to computer and can affect how a particular window or view is displayed from one computer system to another. Many windowing systems use a technique called "logical inches" to convert physical measurements to display area. This technique is an outgrowth of desktop publishing. A display is not capable of the resolution of paper. Hence, a display image is usually magnified as compared to the paper image that will be printed. While this is very effective for desktop publishing, it is an impediment when designing graphical interfaces that are not intended to be printed. Although windowing systems allow a user or application to change the logical inch to be equal to a real inch, this changes the magnification every feature of the graphical interface. With such a modification, the application may be able to specify a window with a specific dimension in real measurement units, but associated text in buttons and control will be altered so that it may become unreadable. Alternatively, the display units are arbitrary, having no predetermined or set relationship to a real unit of measure. This often results where the hardware graphics adapter or monitor allow scaling of which the operating system is not aware.
Briefly stated, the present invention involves an apparatus and method for operating a graphic user interface in a windowing operating system. A value representing a mapping of logical inches to real measurement units is determined from information stored in the operating system. A physical size in real measurement units of a display device is determined. A user viewing the display device is asked to identify a displayed graphic image having a preselected dimension in real measurement units. A plurality of graphic objects are displayed, where each of the graphic objects have a different size. The user viewing the plurality of graphic object is asked to select one of the graphic objects. The size of the selected graphic object is saved as a first user-defined size.
FIG. 1 shows in block diagram form basic components of a computer system implementing the present invention;
FIG. 2 shows in block diagram form elements of a windowing system useful in the implementation of the present invention;
FIG. 3 illustrates a sample dialog query used in the present invention;
FIG. 4 is a flowchart showing steps in a method for implementing a portion of the present invention;
FIG. 5 illustrates a group of graphic objects before processing in accordance with the present invention;
FIG. 6 shows an example window having real unit dimensions in accordance with the present invention;
FIG. 7 shows the graphic objects of FIG. 5 after processing in accordance with the present invention;
FIG. 8 illustrates a composite graphic view created from a combination of the window shown in FIG. 6 with the graphic elements shown in FIG. 5; and
FIG. 9-FIG. 11 show in flow diagram form basic steps in accordance with the method of the present invention.
In general, the present invention involves a graphic information display system and method particularly adapted to computing environments where a wide variety of display hardware is used. The approach in accordance with the present invention comprises four interacting primary components: 1) real and consistent units of measurement used to describe the information to be displayed; 2) unit independent sizing; 3) dynamic sizing of images; and 4) dynamic layout of images within a view.
FIG. 1 illustrates in block diagram form a computer system incorporating an apparatus and system in accordance with the present invention. Processor architectures and computing systems are usefully represented as a collection of interacting functional units as shown in FIG. 1. These functional units, discussed in greater detail below, perform the functions of fetching instructions and data from memory, processing fetched instructions, managing memory transactions, interfacing with external I/O and displaying information.
The present invention is described in terms of an apparatus and method particularly useful in a distributed computer system comprising multiple computer systems such as shown in FIG. 1. The particular examples represent implementations useful in a number of alternative processor architectures and operating system platforms. Accordingly, these alternative embodiments are equivalent to the particular embodiments shown and described herein. FIG. 1 shows a typical general purpose computer system 100 incorporating a processor 102 and using both an application program and an operating system executing in processor 102. The computer system is schematically represented by dotted line box 108. Computer System 100 in accordance with the present invention comprises an address/data bus 101 for communicating information, processor 102 coupled with bus 101 through input/output (I/O) devices 106 for processing data and executing instructions, and memory system 104, coupled with bus 101 for storing information and instructions for processor 102. Memory system 104 comprises, for example, one or more levels of cache memory and main memory in memory unit 107.
User I/O devices 106 are coupled to bus 101 and are operative to communicate information in appropriately structured form to and from the other parts of computer 100. User I/O devices may include a keyboard, mouse, magnetic or tape reader, optical disk, or other available I/O devices, including another computer. Mass storage device 117 is coupled to bus 101 and may be implemented using one or more magnetic hard disks, magnetic tapes, CD ROMs, large banks of random access memory, or the like. A wide variety of random access and read-only memory technologies are available and are equivalent for purposes of the present invention. Mass storage 117 includes computer programs and data stored therein. Some or all of mass storage 117 may be configured to be incorporated as part of memory system 104.
Display device 109 comprises hardware coupled to system bus 101 that is responsible for displaying information and graphics. Display device 109 may comprise a graphics adapter that drives a display such as a CRT, LCD or the like. In a typical configuration, display device 109 may allow the user to adjust certain settings such as magnification, but does not inform the operating system of such adjustments. Hence, display device 109 complicates the task of enabling an application to control precisely how information and graphics are displayed to a user.
FIG. 2 is a schematic illustration of a portion of typical computer 100 (also shown in FIG. 1) system implementing a display system 200 using both application program 202, application program 204, and an operating system 206 to implement a windowing graphic display system. The previously described interaction between application programs 202 and 204 and operating system 206 is illustrated schematically by arrows.
The method for handling screen displays varies from computer to computer somewhat. In order to provide screen displays, application programs 202 and 204 generally stores information to be displayed into a screen buffer 212. Under control of various hardware and software in the system the contents of screen buffer 212 are read out and provided, to a display adapter 216 within display device 109 (shown in FIG. 1). Display adapter 216 contains hardware and software, usually in the form of firmware, which converts the information within screen buffer 212 to a form that can be used to drive a display.
The configuration shown in FIG. 1 and FIG. 2 usually works well so long as a single hardware display device is used and that display device is not changed often. When the display device is changed often, or different client computers with different display devices access a common centrally stored application 202, 204, the applications 202 and 204 must adapt their output to meet the needs of the particular display device. These adaptations may include font changes, dialog box and window size changes, color changes, and the like. Most applications simply do not provide sufficient functionality resulting in poor or illegible displays that must be manually resized by the user.
In accordance with the present invention, window and view objects use real and consistent measuring units as actual units of measure. For example, an inch or fraction of an inch. By "real", it is meant that the unit of measure has an exact counterpart in conventional space measurement systems. This allows the size and position information to serve as a consistent reference from device-to-device regardless of the particular size or resolution of the display device. While device independence is, now, taken for granted when using a printer (i.e., a printed page will look substantially the same regardless of the printer generating it), this is because printers all output to the same page size (e.g., 81/2�11 inch paper). With display devices there are several factors which need to be taken into account: physical size, resolution, and number of colors.
The system in accordance with the present invention determines a mapping from real units (such as a fraction of an inch) to display units (i.e., pixels per square inch) through information made available by the operating system 206 and by asking the user who is viewing the displayed information. The information obtained from operating system 206 is retrieved in a conventional manner. Program code suitable to obtain this information from a Windows 95 or Windows NT operating system is presented below:
______________________________________// screen size in pixelsint iHRes = GetDeviceCaps(hdc, HORZRES);int iVRes = GetDeviceCaps(hdc, VERTRES);// pixels per logical inchint iHpixelsPerIn = GetDeviceCaps(hdc, LOGPIXELSX);int iVpixelsPerIn = GetDeviceCaps(hdc, LOGPIXELSY);int twipsPerIn = 1440;int iHTwipsPerPixel = twipsPerIn / iHPixelsPerIn;int ivTwipsPerPixel = twipsPerIn / ivPixelsPerIn;// conversion factorsint twipsPerMm = 57;// screen size in twipsiHSize = iHSize * twipsPerMm;iVSize = iVSize * twipsPerMm;// pixel size in twips (NOTE: these live in GDIB).sub.-- dDisplayTWIPsPerXDev = iHSize / iHRes;.sub.-- dDisplayTWIPsPerYDev = iVSize / iVRes;______________________________________
The above code example extracts horizontal and vertical resolution information stored in the operating system. The operating system is also queried for the number of pixels in a logical inch (e.g., 96 for standard VGA display). The number of pixels per inch is an indication of the magnification being applied by the windowing system. However, this information often does not accurately reflect the actual display parameters because the display adapter 216 and even the display itself may apply scaling themselves that the operating system is not aware of.
However, this information is the most that can be retrieved from, for example, a Microsoft Windows 95 operating system and is used to calculate a real measurement unit (called a TWIP in the program code above) that is equal to 1/1440 of an inch. This is merely an example, and any real measurement unit may be used. Applications in accordance with the present invention represent graphic object dimensions in terms of the TWIP real measurement unit. Dialog boxes, windows, and control graphics can all be described in TWIP units.
Unit-independent sizing is the selection of size not based on units. For example, a "small font" is identified rather than specific "6-point font". The small font has a user defined size in real units that ensures that the size is selected to meet the user's needs on a particular display. This technique is used in accordance with the present invention primarily for selecting fonts. This technique may also be used for control graphics such as icons.
The size, either in display units (i.e., pixels) or in physical units (i.e., fractions of an inch) of a readable font varies widely from display-to-display. In other words, an 8-point font may be readable on one display having high resolution, but not on another display. Readability is primarily a function of the size of the display's pixel, but not entirely. By allowing the user to specify fonts as small, medium, large or some other classification, the system is able to determine a display device specific legible font-size.
FIG. 3 shows a typical dialog used to obtain user-specified sizing. A dialog box 300 is displayed offering the user several choices 301 for a "small font". The choices are desirably displayed with a sample of text in the chosen font sufficient to enable the user to decide if that text is readable on the current display. Each choice is associated with a control graphic object such as a radio button. The user selects one of the choices and activates the "OK" button. The user-selected value for a small font is then stored on the local system for future reference by applications. Each user specified size is obtained in a similar manner. For example, similar dialog boxes can be used to define a medium font, large font, touch font, and the like. Each time the user-specified size is stored in a persistent record for future application use.
The same system is applied to icons displayed by the system and other graphic images. Icons of several sizes and colors are stored. The one most appropriate to the current display as selected by the user through a dialog similar to dialog 300 is used. In a particular example, a 64�64�256 color icon may be optimal on a 21-inch color monitor with high resolution, whereas a 16�16��2 color is readable on a PDA.
Dynamic sizing in accordance with the present invention is a process of allowing a graphic component to size itself based upon its content. The flow chart shown in FIG. 4 illustrates primary steps in the process of dynamic sizing in accordance with the present invention. In general, dynamic sizing enables the graphical objects used in a particular window or view to resize themselves on an object-by-object basis. In contrast, prior operation system implemented sizing would resize text and surrounding graphic objects by a predetermined scaling factor that was applied indiscriminately to all graphic objects in a view. Also, prior scaling systems did not account for the size of contained graphic objects (such as text). This resulted in enclosed text running out of the container object (and so not visible) or large containers with only small contained text.
In the prior art, a window graphic object (i.e., the highest level container object) could be sized or automatically adjusted in size based upon its contents. However, this resizing was not available throughout the hierarchy of nested graphic components. In accordance with the present invention, when a larger font size is selected, a button 500, shown in FIG. 5, would grow to hold all of the larger text. Specifying a font size of "small" for the text of a button component will cause the text to be displayed in a small but readable (as described hereinbefore) font size. It will not, however, change the size of the button in prior graphical display devices.
The dynamic sizing feature in accordance with the present invention causes the button object to be aware of the size of the text within it so that it includes methods to adjust its own size in response to the font size. The code example:
__________________________________________________________________________void FPI.sub.-- WindowBButtonPush::vSizeNatural(FPI.sub.-- Size sizeMin,FPI.sub.-- Size sizeMax)if ( sizeMax.iW() > 0 )sizeMax.vW(sizeMax.iW() - 360);if ( sizeMax.iH() > 0 )sizeMax.vH(sizeMax.iH() - 180);// figure out how much space I needFPI.sub.-- Rect rectNoConstraint(0, 0, 0, 0);FPI.sub.-- Rect rectNoBreak = rectTextExtent(sGetText(),rectNoConstraint,DT.sub.-- SINGLELINE);int iWidth = rectNoBreak.1W();int iHeight = rectNoBreak.iH();if ( sizeMax.iW() > 0 ){// too big?if ( rectNoBreak.iW() > sizeMax.iW() ){FPI.sub.-- Rect rectConstraint(0, 0, sizeMax.iW(), sizeMax.iH());FPI.sub.-- Rect rectBreak = rectTextExtent(sGetText(), rectConstraint,DT.sub.-- WORDBREAK);if ( rectBreak.iW() > sizeMax.iW() ) iWidth = sizeMax.iW();else iWidth = rectBreak.iW();iHeight = rectBreak.iH();if ( sizeMax.iH() > 0){ if ( iHeight > sizeMax.iH() ) iHeight = sizeMax.iH();}}}else{if ( sizeMax.iH() > 0 )if ( iHeight > sizeMax.iH() ) iHeight = sizeMax.iH();}}// add in space for bordersiWidth += 360;iHeight += 180;// am I too small?if ( iWidth < sizeMin.iW() )iWidth = sizeMin.iW();if ( iHeight < sizeMin.iH() )iHeight = sizeMin.iH();FPI.sub.-- Size size(iWidth, iHeight);vSize(size);}__________________________________________________________________________
illustrates a practical example of dynamic sizing in a Windows 95 or Windows NT environment. To implement the step of determining how much space is needed shown in FIG. 4, the particular code example reserves room for borders by subtracting a specified border area from the maximum width and height object of the container object. The sizeMax.iW variable holds the maximum width of the container object whereas the sizsMax.iH variable holds the maximum height object of the container object. In the particular example, the usable area is defined by decreasing sizeMax.iW by 360 TWIPs (i.e., 0.25 inch) and decreasing sizeMax.iH by 180 TWIPS (i.e., 0.124 inch) Any desired dimension may be used, but it is recommended that some border area be defined.
Each of the contained graphic objects are examined in turn. In the case of text, the contained object will be presented in the user-specified unit independent size (e.g., a small font, a large font, or another user-specified size). This user-specified size is the touchstone as the graphic display method and system in accordance with the present invention operates to prevent resizing of these user-specified sizes. Instead, the container object is grown (or shrunk) to fit the user-specified graphic size.
Each contained text item will have an extent indicating the number of characters in the object. Each character will require a user-specified size unit (described above) of width to display properly. The user-specified size will also determine the height of each text line. In the particular code example above, it is determined whether the container object is too big for the contained text in step 402, in which case the container object is resized in the shrink object step 404. It is also determined whether the container object is too small to display the contained text in step 406, in which case the container object is resized during grow object step 408. Once the self-sizing operations shown in FIG. 4 are complete in step 410, the new object data describing the new object dimensions are returned to the dynamic layout program described below.
A comparison of FIG. 5 and FIG. 7 shown the effect of dynamic sizing. In FIG. 5 each button 500 (labeled BUTTON1-BUTTON5) includes data describing whether the contained text should be displayed in a small (e.g., BUTTON %), medium (e.g., BUTTON 2 and BUTTON 4), large (e.g., BUTTON1), or touch (e.g., BUTTON3) size. During dynamic sizing, the text size is converted to the user-specified real dimensions, and container objects 500 grow and shrink as shown in FIG. 7 to properly contain the text. Significantly, this resizing is done at application run time as the text definition stored in an application program only specifies the small, medium, large, and touch sizes, but the application has no a priori knowledge of how the user has specified those sizes for a particular display. Hence, the user-specified sizes, which are saved on the user's computer, are accessed at run time. If the font should be made larger, the button can automatically respond by expanding to accommodate it. This feature in accordance with the present invention ensures that each component will occupy as much display area as it requires but no more. In this manner, the application program does not need to be altered or customized for a particular display in order to display legible graphic objects.
The dynamic layout component in accordance with the present invention is the adjustment of the relative position between components based upon the amount of display area available. Dynamic layout gives the application, not the operating system, control over the final layout and presentation of information to the user. Dynamic layout uses the above identified features (real unit dimensions, unit independent sizing, and dynamic sizing) to enable the application to control the presentation of information to the user on a graphic object-by-graphic object basis without changing the sizing and spacing of the entire graphical interface.
There are two aspects of the dynamic layout feature: 1) layout based on information content of the components, and 2) layout based on component size. Layout based on content is the addition or removal of graphic components based upon the information (i.e., content) being displayed. In one example, each graphic object is given a rank or priority. Once self-sizing graphic objects are dynamically resized, the dynamic layout component checks to determine if all of the components can fit in the available window area (or within the area of the associated container graphical object). If sufficient area exists, layout can be performed in a conventional manner using layout rules stored in the dynamic layout component. These layout rules specify the relative position, alignment, and spacing of each graphical object in a window. However, if insufficient area exists, the dynamic layout component can remove low priority graphical components so that the higher priority components are displayed properly.
Similarly, new graphical objects can be added that serve a similar function to the removed low-priority objects. In a sense, these added graphical objects substitute for the removed objects. These added graphical objects are, for example, smaller and pose fewer restrictions on the dynamic layout component that the original object. In a simple example, a button originally containing the text "CLICK TO CONTINUE" can be replaced by a button containing the text "OK" which requires smaller display area to correctly display. Similarly, an icon graphic that requires significant area to be readable may be replaced by a text graphic or simpler graphic using fewer colors and less detail. In this manner, a the dynamic layout component can construct a view at run time that conveys the required information to the best of the display's capability that meets the sizing required by the user-specified sizes.
Layout based on size is the repositioning of display components based upon their changing size. In a conventional system, the layout of a display (i.e., the positioning of graphical components within a window) is determined by a programmer and fixed until changed by another programmer. In contrast, the system in accordance with the present invention positions graphic display components dynamically (i.e., at run time) based upon the amount of display area available, the size of the components, the desired inter-component spacing, number of rows and columns specified, and similar parameters.
The dynamic layout feature is illustrated by the view construction shown in FIG. 5 through FIG. 8, and the process steps shown and described in the flow charts of FIG. 9 through FIG. 11. Window 600 shown in FIG. 6 is specified with real measurement units (e.g., TWIPs) and so will display at substantially the same size on all display devices. The view is constructed by placing graphic objects 500 inside container 600 as shown in FIG. 8. In conventional windowing systems, the size of each graphic object is coded into the application and so the positions can be specified exactly in a window before runtime. In contrast, the present invention can specify relative positions and spacing between components in the application, but cannot place each graphic object 500 until runtime because the size of each graphic object 500 is not know.
The dynamic layout process in accordance with the present invention begins at start block 900 shown in FIG. 9. Each view comprises a number of components that are hierarchically ordered. Some objects are container objects, some objects are contained objects, and some objects are both container and contained objects. When objects are placed or laid out in the view, they are marked as used. In step 902, a first unused component is retrieved. In step 904, it is determined whether the retrieved component is valid. A valid component is one that can be placed in the view. If the component is not valid, an error handling routine indicated by the encircled A is begun. For valid components, it is determined whether the component is self-sizing (i.e., dynamically resizeable) in step 906. Where the component is self-sizing, the program control enters step 908 where the resizeable component is resized. The steps in resized step 908 are substantially equivalent to those described in reference to FIG. 4 hereinbefore.
If the component is not self-sizing, or once the component is resized, control flows to step 910 where the component is added to the current row or column. Space remaining in the row or column is calculated in step 912 by subtracting the space used by the added component from the prior remaining space available value. If the current row or column is unfilled as determined in step 914, the program code determines if there is a user break after the current object in step 916. In step 914 if it is determined that the current row or column is not unfilled (i.e., is filled), flow control passes to routine B shown in FIG. 9. Similarly, if there is a user break after this component as determined in step 916, flow control passes to the program steps shown in FIG. 9. When there is not a user break after the current component, the program once again determines if the current component is self-sizing in step 918. This information could be remembered and stored in a state variable from step 906 if desired. If the component is not self-sizing, control flows to process B shown in FIG. 11. Where the component is self-sizing in step 918, the next component is retrieved in step 920.
At this stage it has been determined that the first component that was retrieved can be placed and has been placed in a current row or column. Because the component is self-sizing as determined in steps 906 and 918, the method can continue to get and place the next component in the view. In step 922, it is determined whether the new component is valid which if it is not flow control passes to steps B shown in FIG. 11. If the component is valid, at step 924 it is determined whether there is a user break before this component. Like step 916, step 924 determines whether the new component should be placed in a new line as specified by the user or application. If there is no user break, flow passes to step 926 to determine if the new component is self-sizing. If there is a user break (i.e., a no answer to the query of step 924), flow control passes to process B shown in FIG. 11. Where the new component is self-sizing, it is resized in step 928, using substantially similar process to that described in FIG. 4. In either case, flow control passes to step 930 where it is determined whether there is any room left in the view. If there is room left in the view (i.e., the container object), flow control passes as shown at FIG. 9 to step 910 where the new component is added to the view. The steps are repeated until there are no unused components remaining.
In FIG. 10, when flow control passes to process A, it means that the next unused object that was obtained in step 902 was invalid and that there are no more objects to place. In step 1000, the remaining display space is calculated by subtracting the space used by placed components from the total available. If there is no space left as determined in step 1002, the dynamic layout process can end. If there is space left, in step 1004 it is determined whether any of the contained objects can be stretched to fill the space. If not, the dynamically out process is ended. If yes, in step 1006 it is calculated how much this stretch is required to fill the unused space. In step 1008, a first position is calculated and in step 1010 the first adjustable row is retrieved. If the row is valid as determined in step 1012, the process flow continues to adjust each component in the row in step 1014 and get the next adjustable row in step 1016. Steps 1014 and 1016 are repeated until an invalid row occurs indicating that no more adjustable rows exist. When this occurs, the dynamic layout process is ended as shown by element 1012 in FIG. 10.
FIG. 11 illustrates major process steps in a process B that is entered whenever a row is filled and a new row is to begin in the layout process. In step 1100, the program calculates the remaining row and column space in the container object. A first position is calculated in step 1102 and the next component in that row is retrieved in step 1104. If the retrieved component is valid, as determined in step 1106, flow continues as shown in FIG. 11. If the component is not valid, meaning that it is not in fact a component and that all components have been processed, flow passes to steps 1110 where the position of the next row is calculated and step 1112 where the process moves on to select the next component and returns to the flow shown in FIG. 9 at entry point designated C.
When the component is valid, in step 1108 the program determines whether the component should be sized to fill the container. If yes, the component size is set equal to the container size in step 1114. If no in step 1108, it is determined whether the graphic object is too big in step 1116 to fit in the container. If the object is too big, it is resized in step 1118 which is analogous to the shrink step 404 shown in FIG. 4. Once resized if necessary, it is determined if the object is too narrow in step 1120. If the object is too narrow, the extra space required is calculated in step 1122 and flow passes on to the move component step 1124. Once the component is moved to its new position, the position for the next component is calculated in step 1126. After which, the next component in the row is retrieved in step 1104. The process steps loop as indicated until the get next component step retrieves an invalid component as determined in 1106.
Although the invention has been described and illustrated with a certain degree of particularity, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the combination and arrangement of parts can be resorted to by those skilled in the art without departing from the spirit and scope of the invention, as hereinafter claimed.
|Cited Patent
|Filing date
|Publication date
|Jul 15, 1987
|May 16, 1989
|Kabushiki Kaisha Toshiba
|Device capable of displaying window size and position
|Dec 30, 1993
|Nov 7, 1995
|Taligent, Inc.
|Object-oriented view-system for displaying information in a windowing environment
|Sep 20, 1993
|Dec 19, 1995
|Binar Graphics Incorporated
|Method of resetting a computer video display mode
|Oct 25, 1993
|May 28, 1996
|Taligent, Inc.
|Object-oriented window area display system
|Dec 30, 1993
|Aug 6, 1996
|Taligent, Inc.
|Object-oriented view layout system
|Dec 30, 1993
|Sep 10, 1996
|Object-oriented multi-tasking view framework
|Aug 2, 1996
|May 27, 1997
|Adobe Systems Incorporated
|Method and apparatus for viewing electronic documents
|Jun 4, 1996
|Jul 15, 1997
|Joseph S. Sieber
|Method and apparatus for automated layout of text and graphic elements
|Nov 29, 1995
|Sep 16, 1997
|Brother Kogyo Kabushiki Kaisha
|Data processing device with means for displaying files in accordance with applications with which the files can be read
|Oct 26, 1993
|Sep 23, 1997
|Xerox Corporation
|Image lens
|Dec 12, 1994
|Dec 2, 1997
|Microsoft Corporation
|Method and system for grouping and manipulating windows
|Nov 27, 1995
|Aug 4, 1998
|Matsushita Electric Industrial Co. Ltd.
|Apparatus for displaying machine operation guide
|Jun 29, 1994
|Jan 26, 1999
|Canon Business Machines, Inc.
|Scalable edit window and displayable position indicators for an electronic typewriter
|Mar 26, 1996
|Mar 30, 1999
|International Business Machines Corp.
|Method and system for a multimedia application development sequence editor using a wrap corral
|Dec 31, 1996
|Apr 27, 1999
|International Business Machines Corporation
|Database graphical user interface with calendar view
|Citing Patent
|Filing date
|Publication date
|Apr 1, 1998
|Jun 19, 2001
|Microsoft Corporation
|Directional navigation system in layout managers
|Jul 30, 1999
|Dec 23, 2003
|Curl Corporation
|Multiple pass layout of graphical objects with elastics
|May 1, 1998
|Aug 31, 2004
|Adobe Systems Incorporated
|Dialogs for multiple operating systems and multiple languages
|Sep 27, 2001
|Jul 19, 2005
|Curl Corporation
|Grid and table layout using elastics
|Aug 2, 2001
|Sep 27, 2005
|Microsoft Corporation
|System and method for automatic and dynamic layout of resizable dialog type windows
|Mar 15, 2002
|Jan 30, 2007
|Kabushiki Kaisha Toshiba
|Keypad indicating arrangement including virtual key
|Jan 5, 2000
|May 8, 2007
|Apple Inc.
|Graphical user interface for computers having variable size icons
|Jun 28, 2001
|May 6, 2008
|Aivision Pty Ltd.
|Vision testing system
|Dec 20, 2002
|May 20, 2008
|International Business Machines Corporation
|Method, system, and computer program product for user-specified GUI object distribution
|Oct 22, 2003
|Jan 13, 2009
|Microsoft Corporation
|Systems and methods for managing preparation of graphical elements for presentation
|Aug 26, 2004
|Jul 21, 2009
|Microsoft Corporation
|System and method for automatic item relocating in a user interface layout
|Sep 1, 2004
|Oct 27, 2009
|Pixelworks, Inc.
|Automatic keystone correction system and method
|Apr 7, 2004
|Dec 15, 2009
|Adobe Systems Incorporated
|Graphical user interface buttons and toolbars
|Nov 9, 2005
|May 4, 2010
|Apple Inc.
|Method and apparatus for image acquisition, organization, manipulation, and publication
|Apr 18, 2000
|Jul 20, 2010
|Apple Inc.
|System and method for controlling the screen display appearance for a data processing system
|Nov 9, 2005
|Aug 3, 2010
|Apple Inc.
|Image publication
|Sep 21, 2007
|Aug 17, 2010
|Tegic Communications, Inc.
|Directional input system with automatic correction
|Apr 26, 2004
|Oct 5, 2010
|Pixelworks, Inc.
|Automatic keystone correction system and method
|May 11, 2009
|Oct 26, 2010
|Tegic Communications, Inc.
|Touch screen and graphical user interface
|Sep 11, 2007
|Feb 1, 2011
|Tegic Communications, Inc.
|Keyboard system with automatic correction
|Nov 9, 2005
|Sep 6, 2011
|Apple Inc.
|Digital image albums
|Jan 9, 2005
|Sep 20, 2011
|Apple Inc.
|Application for designing photo albums
|Oct 29, 2007
|May 22, 2012
|Apple Inc.
|Method and apparatus for image acquisition, organization, manipulation, and publication
|Jan 31, 2008
|Jun 12, 2012
|Tegic Communications, Inc.
|Spell-check for a keyboard system with automatic correction
|Nov 4, 2010
|Jul 17, 2012
|Nuance Communications, Inc.
|Spell-check for a keyboard system with automatic correction
|Jul 2, 2010
|Aug 7, 2012
|Tegic Communications, Inc.
|Selective input system and process based on tracking of motion parameters of an input object
|Oct 22, 2010
|Aug 7, 2012
|Tegic Communications, Inc.
|System and process for selectable input with a touch screen
|Jul 15, 2010
|Oct 23, 2012
|Tegic Communications, Inc.
|Directional input system with automatic correction
|Jun 18, 2008
|Dec 4, 2012
|John Lazar Barbur
|Vision testing apparatus and method
|Sep 20, 2007
|Dec 11, 2012
|Apple Inc.
|Method and apparatus for image acquisition, organization, manipulation, and publication
|Aug 8, 2011
|Apr 9, 2013
|Apple Inc.
|Method and apparatus for image acquisition, organization, manipulation, and publication
|Dec 8, 2006
|Apr 23, 2013
|Apple Inc.
|Graphical user interface for computers having variable size icons
|Jun 19, 2009
|May 14, 2013
|Tegic Communications, Inc.
|Virtual keyboard system with automatic correction
|Dec 22, 2008
|May 28, 2013
|Verizon Patent And Licensing Inc.
|Stage interaction for mobile device
|Jul 17, 2012
|Jun 4, 2013
|Tegic Communications, Inc.
|Selective input system and process based on tracking of motion parameters of an input object
|Jul 18, 2012
|Jun 18, 2013
|Tegic Communications, Inc.
|System and apparatus for selectable input with a touch screen
|Aug 8, 2011
|Jul 16, 2013
|Apple Inc.
|Method and apparatus for image acquisition, organization, manipulation, and publication
|Jan 4, 2008
|Aug 27, 2013
|Apple Inc.
|Portable multifunction device, method, and graphical user interface supporting user navigations of graphical objects on a touch screen display
|May 10, 2011
|Aug 27, 2013
|Apple Inc.
|Web-clip widgets on a portable multifunction device
|May 10, 2011
|Oct 15, 2013
|Apple Inc.
|Web-clip widgets on a portable multifunction device
|Sep 5, 2007
|Oct 22, 2013
|Apple Inc.
|Touch screen device, method, and graphical user interface for customizing display of content category icons
|Mar 25, 2011
|Oct 29, 2013
|Tegic Communications, Inc.
|Virtual keyboard system with automatic correction
|Oct 17, 2012
|Nov 5, 2013
|Tegic Communications, Inc.
|Directional input system with automatic correction
|Nov 25, 2008
|Dec 3, 2013
|General Electric Company
|Zero pixel travel systems and methods of use
|Sep 4, 2007
|Dec 31, 2013
|Apple Inc.
|Editing interface
|Jun 4, 2003
|Jun 3, 2014
|Koninklijke Philips N.V.
|Method of optimizing the presentation on a display screen of objects of a user interface which can be freely positioned and scaled by means of control elements
|Jan 6, 2008
|Jul 22, 2014
|Apple Inc.
|Web-clip widgets on a portable multifunction device
|Feb 6, 2008
|Aug 26, 2014
|Nec Corporation
|Terminal apparatus and processing program thereof
|Jun 29, 2012
|Nov 18, 2014
|Nuance Communications, Inc.
|Spell-check for a keyboard system with automatic correction
|Oct 12, 2007
|Mar 10, 2015
|Nuance Communications, Inc.
|Directional input system with automatic correction
|May 18, 2012
|Jul 28, 2015
|Nuance Communications, Inc.
|Spell-check for a keyboard system with automatic correction
|Oct 16, 2012
|Aug 11, 2015
|Lg Electronics Inc.
|Method, display system, and computer software for controlling icon appearance
|Mar 25, 2009
|Nov 24, 2015
|Honeywell International Inc.
|Automatic configurator of display objects
|May 4, 2012
|Jan 12, 2016
|Google Inc.
|Touch interpretation for displayed elements
|Nov 11, 2013
|Jan 19, 2016
|Abb Research Ltd.
|Dynamic faceplates for multiple objects
|May 9, 2012
|Feb 9, 2016
|Microsoft Technology Licensing, Llc
|User-resizable icons
|Sep 12, 2011
|Mar 22, 2016
|Apple Inc.
|Application for designing photo albums
|Jul 5, 2012
|Apr 12, 2016
|Microsoft Technology Licensing, Llc
|Multimodal layout and rendering
|Oct 17, 2013
|May 10, 2016
|Apple Inc.
|Touch screen device, method, and graphical user interface for customizing display of content category icons
|Aug 27, 2013
|Jun 14, 2016
|Apple Inc.
|Portable multifunction device, method, and graphical user interface supporting user navigations of graphical objects on a touch screen display
|Jun 18, 2013
|Jun 28, 2016
|Square Enix Co., Ltd.
|Game machine for displaying option screen and game program for displaying option screen
|Oct 25, 2013
|Jul 26, 2016
|Nuance Communications, Inc.
|Virtual keyboard system with automatic correction
|Nov 4, 2013
|Jan 31, 2017
|Nuance Communications, Inc.
|Keyboard system with automatic correction
|Sep 30, 2008
|Apr 11, 2017
|Apple Inc.
|Device, method, and graphical user interface for viewing application launch icons
|Mar 14, 2013
|May 9, 2017
|Microsoft Technology Licensing, Llc
|Use of touch and gestures related to tasks and business workflow
|May 23, 2014
|Aug 15, 2017
|Apple Inc.
|Device, method, and graphical user interface with content display modes and display rotation heuristics
|Jun 30, 2008
|Sep 26, 2017
|Apple Inc.
|Using gestures to slide between user interfaces
|Sep 27, 2001
|Aug 15, 2002
|Halstead Robert H.
|System and method for processing graphical objects for layout using an elastic difference operation
|Sep 27, 2001
|Aug 29, 2002
|Curl Corporation
|Grid and table layout using elastics
|Aug 2, 2001
|Feb 6, 2003
|Breinberg Steven Adam
|System and method for automatic and dynamic layout of resizable dialog type windows
|Mar 15, 2002
|Sep 18, 2003
|George Koppich
|Keypad indicating arrangement including virtual key
|Jul 9, 2002
|Jan 15, 2004
|Silverlynk, Corporation
|User intuitive easy access computer system
|Jun 28, 2001
|Jun 3, 2004
|Maddalena Desmond J
|Vision testing system
|Dec 20, 2002
|Jun 24, 2004
|Walker Peter A
|Method, system, and computer program product for user-specified GUI object distribution
|Oct 23, 2003
|Apr 28, 2005
|Microsoft Corporation
|Systems and methods for preparing graphical elements for presentation
|Oct 22, 2003
|Apr 28, 2005
|Microsoft Corporation
|Systems and methods for managing preparation of graphical elements for presentation
|Jun 4, 2003
|Oct 13, 2005
|Gunter Gegner
|Method of optimizing the presentation on a display screen of objects of a user interface which can be freely positioned and scaled by means of control elements
|Apr 14, 2004
|Oct 20, 2005
|Microsoft Corporation
|Methods and systems for framework layout editing operations
|Apr 7, 2004
|Nov 10, 2005
|David Sawyer
|Graphical user interface buttons and toolbars
|Jul 15, 2004
|Jan 19, 2006
|Navid Sadikali
|Image display system and method
|Aug 26, 2004
|Mar 2, 2006
|Microsoft Corporation
|System and method for automatic item relocating in a user interface layout
|Nov 9, 2005
|Mar 16, 2006
|Glenn Reid
|Digital image albums
|Nov 9, 2005
|Mar 23, 2006
|Glenn Reid
|Image publication
|Apr 17, 2006
|Dec 7, 2006
|Tegic Communications, Inc.
|Virtual Keyboard Systems with Automatic Correction
|Dec 8, 2006
|Apr 5, 2007
|Apple Computer, Inc.
|Graphical user interface for computers having variable size icons
|May 8, 2007
|Sep 6, 2007
|Apple Inc.
|Graphical user interface for computers having variable size icons
|Sep 20, 2007
|Jan 10, 2008
|Glenn Reid
|Method and apparatus for image acquisition, organization, manipulation, and publication
|Sep 21, 2007
|Jan 17, 2008
|Longe Michael R
|Directional Input System with Automatic Correction
|Oct 29, 2007
|May 15, 2008
|Glenn Reid
|Method and Apparatus for Image Acquisition, Organization, Manipulation, and Publication
|Sep 5, 2007
|May 29, 2008
|Jobs Steven P
|Touch Screen Device, Method, and Graphical User Interface for Determining Commands by Applying Heuristics
|Oct 12, 2007
|May 29, 2008
|Longe Michael R
|Directional Input System with Automatic Correction
|Feb 6, 2008
|Sep 11, 2008
|Casio Hitachi Mobile Communications Co., Ltd.
|Terminal apparatus and processing program thereof
|Jun 13, 2008
|Dec 25, 2008
|Canon Kabushiki Kaisha
|Image displaying apparatus, image displaying method, program for executing image displaying method, and storage medium storing program
|Jun 30, 2008
|Jan 1, 2009
|Freddy Allen Anzures
|Portable multifunction device with animated user interface transitions
|Sep 30, 2008
|Jul 9, 2009
|Scott Herz
|Portable Multifunction Device with Interface Reconfiguration Mode
|Sep 26, 2008
|Aug 6, 2009
|Moaec, Inc.
|Customizable, reconfigurable graphical user interface
|May 11, 2009
|Aug 27, 2009
|James Stephanick
|Touch screen and graphical user interface
|Nov 9, 2005
|Oct 8, 2009
|Glenn Reid
|Digital image albums
|Jul 6, 2009
|Feb 11, 2010
|Glenn Reid
|Method and apparatus for image acquisition, organization, manipulation, and publication
|Nov 25, 2008
|May 27, 2010
|General Electric Company
|Zero pixel travel systems and methods of use
|Dec 22, 2008
|Jun 24, 2010
|Verizon Data Services Llc
|Stage interaction for mobile device
|Jun 18, 2008
|Jul 1, 2010
|City University
|Vision Testing Apparatus & Method
|Feb 18, 2010
|Sep 30, 2010
|Celio Technology Corporation
|Apparatuses and systems including a software application adaptation layer and methods of operating a data processing apparatus with a software adaptation layer
|Mar 25, 2009
|Sep 30, 2010
|Honeywell International Inc.
|automatic configurator of display objects
|Jul 2, 2010
|Oct 28, 2010
|James Stephanick
|Selective input system and process based on tracking of motion parameters of an input object
|Jul 15, 2010
|Nov 4, 2010
|Tegic Communications, Inc.
|Directional input system with automatic correction
|May 10, 2011
|Sep 1, 2011
|Scott Forstall
|Web-Clip Widgets on a Portable Multifunction Device
|Oct 16, 2012
|Feb 14, 2013
|Lg Electronics Inc.
|Method, display system, and computer software for controlling icon appearance
|Jul 5, 2012
|Sep 19, 2013
|Microsoft Corporation
|Multimodal layout and rendering
|Apr 30, 2012
|Oct 31, 2013
|William E. Hertling
|Content auto-fit method and system
|May 9, 2012
|Nov 14, 2013
|Microsoft Corporation
|User-resizable icons
|Jun 18, 2013
|Aug 21, 2014
|Square Enix Co., Ltd.
|Game machine for displaying option screen and game program for displaying option screen
|Jun 10, 2011
|Jan 22, 2014
|Dynamic faceplates for multiple objects
|Jun 28, 2001
|Jan 3, 2002
|Aivision Pty Ltd
|Vision testing system
|Jun 27, 2001
|Jan 3, 2002
|Visionrx, Inc.
|Method of calibrating the physical pixel size of a display monitor
|Jun 27, 2001
|Jul 4, 2002
|Visionrx Inc
|Method of calibrating the physical pixel size of a display monitor
|Jun 18, 2008
|Dec 24, 2008
|City University
|Vision testing apparatus & method
|U.S. Classification
|715/763, 345/661, 715/866, 715/781, 715/764
|International Classification
|Cooperative Classification
|Jan 20, 2000
Owner name: OBJECTS PRODUCTS, INC., CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MCCOMB, DAVID W.;LONG, JAMES L.;STEPHENSON, MIKE;REEL/FRAME:010549/0221
Effective date: 19980714
|Apr 23, 2002
Owner name: INSTANCIA, INC., CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VELOCITY.COM, INC.;REEL/FRAME:012831/0440
Effective date: 20020322
|Mar 17, 2004
|Maintenance fee reminder mailed
|Aug 18, 2004
|Surcharge for late payment
|Aug 18, 2004
|Fee payment
Year of fee payment: 4
|Mar 10, 2008
|Maintenance fee reminder mailed
|Aug 29, 2008
|Lapse for failure to pay maintenance fees
|Oct 21, 2008
|Expired due to failure to pay maintenance fee
Effective date: 20080829


text:
|Maxime Talbot was the center of attention after his second-period goal. (Sean Kilpatrick/Associated Press)
Senators' status not healthy
The Pittsburgh Penguins are enjoying their chance to pay back the Senators for last season's playoff pounding.
Sidney Crosby, Jordan Staal, and former Senator Marian Hossa scored in the third period to lift Pittsburgh to a 4-1 victory in Ottawa last night, and leave the Penguins a victory away from a first-round playoff sweep.
Maxime Talbot scored in the second period and Hossa also had two assists to push Ottawa to the brink of elimination one year after the Senators beat Pittsburgh in five games on their way to the Stanley Cup finals.
"It was nice to finally get that first goal [this playoff season] and have a good game, especially in this building where I basically started my career," said Hossa, who was acquired from Atlanta at the trading deadline. "But the most important thing is we're up, 3-0."
Crosby got the tiebreaking goal 12 seconds into the third, stunning the Senators' crowd with his first goal of the playoffs after busting in on a two-on-one break and snapping a shot that beat Martin Gerber stick side.
"I had a good chance to shoot and found my spot, but chances are few and far between, especially in the playoffs, so it was nice to convert one there," said Crosby, who had four assists in Friday's 5-3 win.
Staal made it 3-1 just 1:18 later, crashing the net and redirecting Kristopher Letang's pass behind a helpless Gerber. Hossa capped the comeback with a power-play goal at 8:55.
Ottawa couldn't capitalize on the return of injured captain Daniel Alfredsson, a surprise addition to the lineup.
"A few quick goals like that, it's tough," said Alfredsson, who hadn't played since he suffered knee and upper-body injuries April 3.
The 35-year-old Swede was given a standing ovation when he took his first shift 42 seconds into the first period.
Alfredsson hadn't even practiced with his teammates before deciding to take the warm-up and suit up for the game. He didn't look anywhere close to 100 percent, gingerly making his way around the ice and trying his best to avoid the high traffic areas. He played 22 shifts and took four shots.
"He obviously wasn't at full speed, you could see that, but he had hands, he had a couple of scoring chances," Senators coach Bryan Murray said. "If anybody questions Daniel Alfredsson's character again, I think I'll approach them in an unkind way and set them straight."
Ottawa's Jason Spezza, who injured his leg in Friday's loss and didn't practice Sunday, played 21 shifts and had an assist.
The Penguins were without Gary Roberts (groin), who scored twice in the opener.
Predators 5, Red Wings 3 - Nashville is back in the series. Detroit is searching for its lost momentum.
Jason Arnott scored with 3:58 left in the final period, the second Nashville goal in nine seconds, and the Predators rallied to beat the Red Wings and cut their first-round series deficit to 2-1.
"There's moments that are going to happen in a series that can change the whole series," Nashville coach Barry Trotz said. "I don't know, we might have just had ours."
Ryan Suter tied the game nine seconds before Arnott's goal, putting a slap shot from the left side past Dominik Hasek, who had dominated the Predators for most of the game and the series. Martin Erat scored an empty-netter with 41 seconds left to seal the win.
Center David Legwand returned to the Nashville lineup after missing 14 straight games with a deep bone bruise on his left foot, but played sparingly and appeared to be slowed by the injury.
Wild 3, Avalanche 2 - Pierre-Marc Bouchard took the pass from Brian Rolston from behind the net and sent it past Jose Theodore 11:58 into overtime to give Minnesota a win in Denver.
It was the third straight overtime game in this first-round series, with the Wild winning two of them.

subset: commoncrawl


text: Playing now with Signum Pro Poly Plasma and thinking to try some spin string. My main thought is that will new string chance anything in my game. I don´t have so much energy that I would try many strings to find the best for me. I´m a powerhitter and can use good spin. I´m a level 5.5 player. Any good ideas for a new string?


text:
I ignore the rain and honking cars as I catch the all too common "see you soon" from my oldest, who goes back to his book. Anxious drivers behind us will just have to wait a minute while I steal quick kisses from my 4-year-old and 10-month-old daughters and remind my son that he needs to finish his schoolwork before the end of the week. The goodbyes and kisses that send me on my way make the elixir that keeps me going. My family's strength lets me focus on what I do. My work-life balance is about to get tipped really far toward work.
I'm at the airport, about to catch a ride to my second home where I work as a flight paramedic in a remote area, transporting the sick and the injured to a hospital capable of handling their needs. I commute by plane so I can work on a helicopter.
My pilot, my nurse and I are the folks who come to treat you when others can't. It's not always as glamorous as TV makes it out to be, but it does have its cool factor. We drop in, make quick assessments and field diagnoses, stabilize the situation, and then drop you off so we can get ready for the next challenge.
Working so far from home for long stretches of time makes me wonder if I have gone soft on my kids when I am with them. The term helicopter parent describes characteristics that I neither support nor subscribe to. Who wants to be a helicopter dad?
Helicopter parents hover over their children and protect them from what they perceive to be a hostile and dangerous world. I know how dangerous the world is, and that if my kids don't build some resilience and mental toughness now, their world will be more challenging later.
When I think of the toughest challenges that I face, I don't think about the accidents and myriad gunshot victims I have treated; I've been a paramedic and those are easy at this point. No, I think about logistics and scheduling and how to make the most impact in the least amount of time as a father.
How am I going to get home to see this weekend's baseball games? Who can I arrange to throw with my son during the off-season to help his pitching arm stay strong with me gone? Meanwhile, his younger brother has the skills to finish work in class, but has the same fits of lazy dreaminess that his dad once had, and he needs some extra attention. It's hard to be there when you're treating and calming bleeding patients during a frantic helicopter ride 500 miles away.
What about my darling princesses? How do I feed my 10-month-old or change her diaper? How do I even just sneak away from Momma with my older daughter on some shopping trip so we can accidentally drive by the frozen yogurt place that has the right combination of sprinkles and fresh-cut strawberries to make an afternoon without big brothers so perfect?
Oh, did I mention dating time for some personal attention for my wife?
Maybe it's just what I am good at — dropping in, isolating a problem and then fixing it, before darting off to another. Maybe my family doesn't realize how much I am playing paramedic even when I am home. Maybe the balance I seek is not to be measured over the course of a day or week, but rather a lifetime. Maybe I am a helicopter parent after all, but when can I just be Dad?
The drivers behind us honk again, but I need these moments with my family. Just a little longer.
Christopher Suprun of Dallas works as a paramedic and national EMS educator and is a Community Voices volunteer columnist. His email address is email@example.com.


text:
Patapon 2: Donchaka drops in Japan on November 27, 2008, Thanksgiving! What perfect timing – give PSP owners something to be thankful for. So it is no surprise that a demo of the game has appeared on the Japanese PlayStation store, ready to be downloaded with anyone who has a Japanese PlayStation store account.
I downloaded Patapon 2: Donchaka last night, using my Japanese PlayStation account and my faithful PSP. Its a fairly substantial download, coming in at 87mb, but it only took between 10~15 minutes to download and install the demo on my system.
The demo begins with a bit of exposition, showing the Patapons and Zigoton building a ship and crossing the ocean in search of "IT". Unfortunately, there was a storm, and this kraken like creature and, well, the ship crashed. You begin with only one drum, Pon (circle), which you use to awaken Hatapon, that flag bearing leader of the Patapon army who happens to by lying next to the wreaked ship. Once he awakens, he gives you the Pata (square) drum. The two of you then decide to search the area for survivors, and find three Yaripon and Princess Meden. There are also some stranged, masked people near Princess Meden when you arrive, but they back off once they see the Yaripon and Hatapon.
You then go through some basic missions, to reintroduce you to the gameplay elements and see how Patapon 2: Donchaka is different than the original. The demo missions are basically the actual game's introduction, so think of it as a taste of what it will actually be like. The first is a standard hunting mission, except this time there's a thunderstorm, its near the ocean and the four kacheeks you encounter are incredibly easy to defeat.
The second is a basic battle mission, where you fight against the stranged, red masked inhabitants you saw checking out Princess Meden earlier. You also have a temporarily rare Patapon warrior join your party for this endeavor.
After that, is a mini-boss fight. You find a mysterious Patapon trapped under a rock, and a Dodonga approaches. You fight him, and after a few of his attacks he will break the rock trapping the unknown Patapon, and is then defeated by him. You also receive your first egg. Eggs are a new Patapon 2: Donchaka gameplay feature where you join up with four friends to play in time and hatch the egg to get items.
I was impressed by Patapon 2: Donchaka. It seemed much easier to get into the game's rhythms. An interesting change was, if you used perfect timing, your last beat would sound slightly different – like it was accented more. It also seemed much easier to achieve and maintain Fever, but I don't know if this will extend over to the actual game. The demo/tutorial segment also moved quickly, and by the end of the third mission you had the Pata, Pon and Chaka drums.
I was also struck by the music. Now, Patapon was catchy and had great little tunes and background music, but it can't compare to the snippits I heard throughout the Patapon 2: Donchaka demo. It sounds more stylized, and seems more reminiscent of the Loco Roco music than ever before, but don't worry, this is a good thing.
The Patapon's chanting has changed a bit as well. Sometimes, after you'd complete the last combo to reach Fever, the Patapons would let out a series of joyful shouts. This would sometimes distract me, making me lose count and then lose the Fever state. In the Patapon 2: Donchaka demo, the chants seemed a tad more subdued. They're still cute and there, but they aren't as distracting as they were in the original Patapon.
Patapon 2: Donchaka also maintains Patapon's unique art style which set the game apart. I noticed that some of the background environments seemed a tad more vibrant in the Patapon 2: Donchaka demo though, and there was a bit more color. This was especially true in the opening and the first hunting mission, where you can see the ocean in the background.
Another thing that struck me as I played was how much English there was in the demo. It seems like Patapon 2: Donchaka won't be a terribly difficult game to translate. Perhaps we'll even see an English release of it within the first two quarters of 2009. As is, it makes it very easy to play through and enjoy the demo of what looks to be a fantastic sequel.
Read [Siliconera] Also Read [CNG4U] Site [Patapon 2: Donchaka (Japanese)]


text:
330 Fontaine Drive Georgia, VT 05468-4259 |
Premier Paving Inc.
Quality Work at a Sensible Price!
(802) 524-0399
(877) 926-3381
Paving Services
Asphalt Protection
Excavation Services
Location & Contact
Premier Quality at a sensible price
Paving Contractor in Georgia, Vermont
Since 2000,
Premier Paving, Inc
., was originated in
Georgia, Vermont
. Supervised by Randy Howard, Premier Paving, Inc., is a locally owned and operated paving contractor with more than 28 years of experience on our staff.
We are not an out-of-state business, which means that we are able to provide all customers with locally minded, friendly service! All jobs are done with expert workmanship, everything from paving parking lots to excavation jobs.
Fully Insured
Free No Obligation Estimates
1 Year Warranty on Residential Driveways (some restrictions apply)
We Service all Aspects of Paving
About Us
Premier Paving, Inc.
, is a Locally owned Family Paving Business. The Accomplishments of Premier Paving, Inc., is not only from the dedication and effort contributed by all his employees and being able to work as a team. With Randy Howard, the owner's, ambitious drive and attention to detail on the job keeps everyone on task. Randy has been in the paving business profession since 1985, born and raised here in Vermont. His dedication to the quality of work keeps him on the job daily to ensure every job is to his expectations. Randy isn't only on the job, he bids every job and gives the estimate to make sure the driveway will be installed properly. He will also do the excavating and grading to make sure a proper foundation is installed for drainage purposes when needed. Through the years, Randy has learned the geographical areas around Vermont to ensure the proper base is installed to preserve your asphalt investment.
Premier Paving History
Premier Paving, Inc., was formed in 2000 after Randy had spent years with other paving companies. He felt confident in his skills, and so did other contractors he had worked with. Premier Paving, Inc., started out small doing mainly residential driveways and some small commercial work. As time went on, so did Premier Pavings good reputation from the local contractors and residents helping us prosper and continue to serve our community with quality still today.
Contact us today in Georgia, Vermont, for more information about our professional paving services.
Our Company Is Fully Insured | Free - No Obligation - Estimates


text:
New and Used Sporting Goods and Great Deals!
Sports Junkies is a great place to go if you have a kid who seemingly grows out of their sports equipment the day after you buy it. They carry a great selection of new and Used Sporting Goods and are also a good place to go to consign or sell your used gear outright. I like the fact that they closely follow the rules too so that they don't end up being a fence for less than scrupulous individuals in our society. That said the products they carry are always in good repair and they service what they sell too. We recently bought a bike here an had a recurring flat tire problem, They took it in, found the problem, fixed it and charged us $5.00! What a deal! Visit Sports Junkies for your sporting goods needs and save a bundle!


text:
Inside New York City's Most Mysterious Architectural Time Capsule
For the past half century, 190 Bowery has been a legend. The six-story, 72-room former bank building on the fringes of SoHo looked like a war zone on the outside, crumbling and covered in graffiti. And the inside, the home of a photographer with insane real estate luck—well—nobody really knew what was inside. Until now


text:
View the Video (Anthony) Rizzo Mania
Subluxation. Oblique. Dislocation.
Not the kind of words you want to hear being thrown around your pitching staff.
Follow the Padres on Facebook
Have a Facebook account? Follow the U-T's Padres page for links to video, stories and other content, and to interact with other fans. Go to: facebook.com/sdutpadres
Even with all the folderol surrounding the arrival of heralded rookie Anthony Rizzo and various other transactions, perhaps the most significant news on Thursday had to do with the Padres hurlers, most notably the loss of set-up star Luke Gregerson to the disabled list and ongoing question of Dustin Moseley's availability to the rotation.
Moseley, forced out of Wednesday's start by the recurrence of an old shoulder issue during a fifth-inning at bat that brought him to his knees, was in a holding pattern after undergoing an MRI that confirmed the subluxation. Moseley reported more soreness Thursday and the team wants to wait a couple days before making a determination about his next start, scheduled for Monday in Denver.
Gregerson was placed on the 15-day DL with a strained oblique muscle he sustained while warming up in preparation to enter Wednesday's game. Taking his place on the roster is rookie right-hander Evan Scribner, summoned from AAA Tucson for the second time this season.
"I just felt something bad in my ribcage here on my left side," said Gregerson. "I thought it was a cramp at first. I tried to throw one more. It felt exactly the same.
"Ak (bullpen coach Darrel Akerfelds) saw me wince a little bit … He said "You have to shut it down. You don't want to make it worse than it could be now. You don't want to turn a 10-day thing into a two-month thing.'/i"
Gregerson said he didn't think his injury was quite as debilitating as the strained oblique that sidelined catcher Nick Hundley. As it happened, the latter returned to the Padres on Wednesday after a month of recovery from his oblique injury.
"I'm kinda peeved about this," said Gregerson. "I've never pulled a muscle in my life."
Gregerson's been a stalwart as the seventh-inning specialist, maintaining a 2.63 earned run average and winning two of three decisions. Most liable to work the seventh now is veteran Chad Qualls, though Black said the balance in his bullpen is such that any of his relievers could fulfill the role.
"Something like that buckles you," said Black, "but we'll adjust with our depth."
Manager Bud Black said the Padres want to see if the soreness subsides and Moseley's able to throw a side-session Friday or Saturday.
In the event Moseley can't go in Denver, a possible replacement would be left-hander Wade LeBlanc, who's been up and down several times over the past few years with the Padres and is on a pitching schedule with Tucson that nearly parallels Moseley's with the Padres.
Venable returns
Recalled to San Diego, right fielder Will Venable said his two-week stint back in Triple-A ball was not only therapeutic for his swing, but best for all concerned.
"No one wants to get sent down, but I think I needed to get sent down," said Venable, "not just for these next couple weeks, but for my career. Buddy's seen me play at the level I can play at; I know the level I can play. It's just been missing for a long time…
"I wasn't like a huge deal, wasn't like I needed to go back to the minor leagues because I needed an attitude adjustment or needed to find some confidence. I just needed to find something in my swing that I hadn't felt."
As the club's Opening Day right fielder, Venable was struggling mightily through the first two months. Batting .224 with 36 strikeouts in 134 at bats when optioned to Tucson on May 23, Venable seemed to find his stroke over the past week, raising his average to .276 and including three homers and 11 RBI in 58 at bats.
Entering the game Thursday night with two outs in the bottom of the seventh, Venable struck out with the bases loaded. Defensively, though, he pulled back what would have been a home run by Danny Espinosa.
With his return, the Padres dispatched two outfielders who both were batting under .200. Aaron Cunningham was sent back to AAA and Eric Patterson, who also played some infield, was designated for assignment to create room for Rizzo on the 40-man roster. The Padres have 10 days to trade or waive Patterson, who could be retained by San Diego if he clears waivers.
-- Center fielder Cameron Maybin, who took live batting practice Thursday said by Black to be "running freely" in his return from a knee issue, is eligible to come off the disabled list Saturday. He's slated to make a rehab start for Tucson on Friday.Copyright © 2017, The San Diego Union-Tribune


text:
Nautilus Pipeline Company, LLC
Original Volume No. 1
Contents / Previous / Next / Main Tariff Index
Effective Date: 04/05/2010, Docket: RP10-475-000, Status: Effective
First Revised Sheet No. 102 First Revised Sheet No. 102
Superseding: Original Sheet No. 102
5. MEASUREMENT & MEASUREMENT EQUIPMENT con't
(2) by correcting the error, if the quantity of percentage
of error is ascertainable by calibration, test, or
mathematical calculation, or if neither of the two
foregoing procedures are applicable,
(3) by relating the quantity of receipt or delivery to
receipts or deliveries during periods under similar
conditions when the measurement equipment was deemed
to have been registering accurately.
5.8 Electronic Natural Gas Measurement (EGM) Technical Requirements
(a) Accuracy. Where EGM is used, the system shall use
instruments designed to provide overall measurement accuracy
of +1.0% of flow, taking into account all the sources of
error, including calibrated span of instruments, linearity,
hysteresis, repeatability, ambient temperature, stability,
vibration, and power supply fluctuation. To achieve this
degree of accuracy, transmitters with a published accuracy
of +0.10% shall be utilized. Differential Pressure
Transmitters of a type that self-compensate for static
pressure effect or manufacturer's published compensation
factor shall be programmed into the flow computer (RTU).
All instruments shall operate on a temperature range of -30
degrees Fahrenheit to +120 degrees Fahrenheit and a non-
condensing relative humidity range of 0 to 95%. The RTU
shall be designed and installed to withstand mechanical
shock of at least 1 G, and neither Shipper nor Transporter
shall be held responsible for any accidental damage to the
equipment as a result of mechanical shock of over 1 G.


text:
Splendid Life Meditation-CANCELLED due to weather
Date: Jan 10, 2014
Time: 10:00 AM
Location: Bernardsville Public Library
Time: 10:00 AM
Location: Bernardsville Public Library
Basking Ridge resident Fauzia Burke leads monthly guided meditation sessions at the library. Her style of meditation incorporates many cultural traditions and uses the power of word and imagery to facilitate a meditative experience. Each experience is honored as unique and can help reduce stress, generate creativity, and create positive energy. Free. No sign-up is needed.
- More Adult Programs
Loading Map....


text:
Marco Brambilla
Associate Professor of Software Engineering
at Politecnico di Milano,
Data Science, Model Driven Development, Social Media Analysis and Collaboration, Computational Intelligence, and Web Engineering.
Author of the OMG standard ,
Partner and scientific advisor
Founder and scientific advisor
My latest books:
Interaction Flow Modeling Language – Model-Driven UI Engineering of Web and Mobile Apps with IFML
Marco Brambilla, Piero Fraternali. Morgan Kaufmann, 2014.
Interaction Flow Modeling Language describes how to apply model-driven techniques to the problem of designing the front end of software applications, i.e., the user interaction. The book introduces the reader to the novel OMG standard Interaction Flow Modeling Language (IFML). Authors Marco Brambilla and Piero Fraternali are authors of the IFML standard and wrote this book to explain the main concepts of the language. They effectively illustrate how IFML can be applied in practice to the specification and implementation of complex web and mobile applications, featuring rich interactive interfaces, both browser based and native, client side components and widgets, and connections to data sources, business logic components and services.
Interaction Flow Modeling Language provides you with unique insight into the benefits of engineering web and mobile applications with an agile model driven approach. Concepts are explained through intuitive examples, drawn from real-world applications. The authors accompany you in the voyage from visual specifications of requirements to design and code production. The book distills more than twenty years of practice and provides a mix of methodological principles and concrete and immediately applicable techniques.
- Learn OMG's new IFML standard from the authors of the standard with this approachable reference
- Introduces IFML concepts step-by-step, with many practical examples and an end-to-end case example
- Shows how to integrate IFML with other OMG standards including UML, BPMN, CWM, SoaML and SysML
- Discusses how to map models into code for a variety of web and mobile platforms and includes many useful interface modeling patterns and best practices
Model-Driven Software Engineering in Practice
Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering in Practice (Synthesis Lectures on Software Engineering). 1st Edition. In Synthesis Lectures on Software Engineering. Morgan & Claypool Publishers. September 2012, USA. ISBN-13: 978-1608458820
This book discusses how model-based approaches can improve the daily practice of software professionals. This is known as Model-Driven Software Engineering (MDSE) or, simply, Model-Driven Engineering (MDE). MDSE practices have proved to increase efficiency and effectiveness in software development, as demonstrated by various quantitative and qualitative studies. MDSE adoption in the software industry is foreseen to grow exponentially in the near future, e.g., due to the convergence of software development and business analysis. The aim of this book is to provide you with an agile and flexible tool to introduce you to the MDSE world, thus allowing you to quickly understand its basic principles and techniques and to choose the right set of MDSE instruments for your needs so that you can start to benefit from MDSE right away. The book is organized into two main parts. The first part discusses the foundations of MDSE in terms of basic concepts (i.e., models and transformations), driving principles, application scenarios and current standards, like the well-known MDA initiative proposed by OMG (Object Management Group) as well as the practices on how to integrate MDSE in existing development processes. The second part deals with the technical aspects of MDSE, spanning from the basics on when and how to build a domain-specific modeling language, to the description of Model-to-Text and Model-to-Model transformations, and the tools that support the management of MDSE projects. The book is targeted to a diverse set of readers, spanning: professionals, CTOs, CIOs, and team managers that need to have a bird's eye vision on the matter, so as to take the appropriate decisions when it comes to choosing the best development techniques for their company or team; software analysts, developers, or designers that expect to use MDSE for improving everyday work productivity, either by applying the basic modeling techniques and notations or by defining new domain-specific modeling languages and applying end-to-end MDSE practices in the software factory; and academic teachers and students to address undergrad and postgrad courses on MDSE. In addition to the contents of the book, more resources are provided on the book's website http://www.mdse-book.com/, including the examples presented in the book. Table of Contents: Introduction / MDSE Principles / MDSE Use Cases / Model-Driven Architecture (MDA) / Integration of MDSE in your Development Process / Modeling Languages at a Glance / Developing your Own Modeling Language / Model-to-Model Transformations / Model-to-Text Transformations / Managing Models / Summary
The slides are available online on slideshare:
Chapter 1 - http://www.slideshare.net/mbrambil/modeldriven-software-engineering-in-practice-chapter-1-introduction
Chapter 2 - http://www.slideshare.net/mbrambil/modeldriven-software-engineering-in-practice-chapter-2-mdse-principles
Chapter 3 - http://www.slideshare.net/jcabot/model-driven-software-engineering-in-practice-chapter-3-mdse-use-cases
Chapter 4 - http://www.slideshare.net/jcabot/modeldriven-software-engineering-in-practice-chapter-4
Chapter 5 - http://www.slideshare.net/mbrambil/modeldriven-software-engineering-in-practice-chapter-5-integration-of-modeldriven-in-development-processes
Chapter 6 - http://www.slideshare.net/jcabot/mdse-bookslideschapter6
Chapter 7 - http://www.slideshare.net/mbrambil/model-driven-software-engineering-in-practice-book-chapter-7-developing-your-own-modeling-language
Chapter 8 - http://www.slideshare.net/jcabot/modeldriven-software-engineering-in-practice-chapter-8-modeltomodel-transformations
Chapter 9 - https://www.slideshare.net/mbrambil/model-driven-software-engineering-in-practice-book-chapter-9-model-to-text-transformations-and-code-generation
Chapter 10 - http://www.slideshare.net/jcabot/mdse-bookslideschapter10managingmodels
White papers on WebML and IFML history
My CV is available here:
Large-scale Model-Driven Engineering of Web User Interaction: The WebML and WebRatio experience
Marco Brambilla, Piero Fraternali. Large-scale Model-Driven Engineering of Web User Interaction: The WebML and WebRatio experience. Science of Computer Programming, Elsevier, 2013. Special Issue on Success Stories in Model Driven Engineering.
This paper reports the experience of WebRatio, a company focusing on Model-Driven Engineering (MDE) tools (WebRatio and WebRatio BPM) and services since 2001. The adopted MDE approach is based on the transformation of models expressed in a Domain Specific Language called WebML (Web Modeling Language) into running applications, with the unique feature of creating not only the back-end data and business logic, but also the Web/RIA front-end, without posing any limitation on the graphical and interaction quality of the user interface. WebRatio has been applied in many industrial projects, some of which have delivered large-scale enterprise applications, generated and maintained completely through MDE practices over the years. In this paper we present the lessons learned within this experience, we describe some success stories and show some quantitative information and evaluation on the usage of the approach.
From requirements to implementation of ad-hoc social Web applications: an empirical pattern-based approach
Marco Brambilla. From requirements to implementation of ad-hoc social Web applications: an empirical pattern-based approach. IET Software, Volume 6, Issue 2, pp. 114-126, DOI: 10.1049/iet-sen.2011.0041.
Model-driven Development of Social Network-enabled Applications with WebML and Social Primitives
Marco Brambilla, Andrea Mauri. Model-driven Development of Social Network-enabled Applications with WebML and Social Primitives. MDWE Workshop colocated with ICWE 2012, Berlin. In: Current Trends in Web Engineering, Springer Lecture Notes in Computer Science, Volume 7703, 2012, pp 41-55.
Social technologies are transforming the Web to a place where users actively contribute to content production and opinion making. Social networking requirements are becoming a core part of the needs of modern enterprises too, which need ad-hoc Web platforms that incorporate the right set of social features for their business. This leads to the need to provide facilities and methods for developing such socially enabled applications. In this paper we propose a model-driven approach that is specifically focused on the development of Web applications that exploit social features. In particular, we describe an extension of the WebML notation (a Domain Specific Language designed to model Web applications), comprising a set of modeling concepts that encapsulate the logic of the interaction with the social platforms. Upon this, we define a set of design patterns that respond to the typical needs of enterprises and we show some sample application scenarios.
Application and Simplification of BPM Techniques for Personal Process Management
Marco Brambilla. "Application and Simplification of BPM Techniques for Personal Process Management". BPMS2 Workshop at BPM 2012.
With the advent of Web 2.0 and online social interactions, people started sharing thoughts, contents and tasks online. This evolved to cover also socialization of task management, which is currently supported by a plethora of online services directed to the nal user. However, all these tools share a common weakness: they don't provide any way for structuring the interactions, dependencies or constraints between tasks. This paper discusses a vision towards the application of BPM techniques and tools to personal task management. The challenge of this roadmap is nding the appropriate level of complexity of processes: the language for modeling such processes should be complete enough for describing basic processes but also simple enough to let people understand, accept and use them in their everyday life. Therefore, our proposal describes how to strip o some of the expressive power of enterprise business processes, so as to accommodate end user needs and acceptance.
A Revenue Sharing Mechanism for Federated Search and Advertising
Marco Brambilla, Sofia Ceppi, Nicola Gatti, Enrico Gerding. A Revenue Sharing Mechanism for Federated Search and Advertising. WWW 2012 poster, Lyon, France.
Federated search engines combine search results from two ormore (general–purpose or domain–specific) content providers.They enable complex searches (e.g., complete vacation planning) or more reliable results by allowing users to receivehigh quality results from a variety of sources. We propose anew revenue sharing mechanism for federated search engines,considering different actors involved in the search resultsgeneration (i.e., content providers, advertising providers, hybridcontent+advertising providers, and content integrators).We extend the existing sponsored search auctions by supportingheterogeneous participants and redistribution of monetaryvalues to the different actors, while maintaining flexibilityin the payment scheme.


text:
All Shaken Up
By John Hodgman
Published: October 17, 2004
Dr. Cocktail stood at the bar in his library, cranking ice through an antique metal ice crusher to go into a milk punch, a noggy rum-and-milk concoction that hasn't been popular for a century or so. The summery California sun watched us through the window; it was a little after 11 a.m. in Burbank, but if the hour was not exactly couth, Doc reassured me, it was at least historically accurate. ''Literature has shown,'' he said, ''that cocktails were first used in the morning.''
Ted Haigh is 47, a tall, gangly, affable man with an expressive face and unusually active eyebrows. In his normal life, he is a graphic designer for movies, with a specialty in creating old-fashioned signs and products -- like the Dapper Dan hair-pomade can in ''O Brother, Where Art Thou?'' But here, he is Dr. Cocktail, amateur historian of the American mixed drink, author of the newly published book ''Vintage Spirits & Forgotten Cocktails'' and perhaps our nation's only cocktail archaeologist. His library is a cool and spacious shrine: liquor cabinets and bookshelves and Corbusier-style leather furniture all genuflecting to the simple bar where Doc was working, pouring brandy and rum into a shaker, his back to the room like a pre-Vatican II priest.
He was framed by two giant illuminated cabinets containing an example of just about every glass the mixed drink has ever traveled in, from the sherry glass of its 18th- and 19th-century origins to the perverse curves of a modern French-Quarter-style hurricane glass. Now he added the final dashes of vanilla extract to the shaker and stirred, then strained the punch over crushed ice into two stately miniature goblets from the 60's. He closed his eyes and sipped.
''A lovely morning drink,'' he said, and I had to agree: I was instantly soothed, the sin of the liquor and the wholesomeness of the milk entwining, making me feel as if I had been wrapped in a blanket. The sun went to bother someone else, and Doc turned to the sad state of cocktail scholarship.
If history is written by the winner, the history of the cocktail has largely been written by the drunk. ''Somebody invents something, they drink it and they forget it,'' Doc said. ''That's the sad thing.'' The milk punch dates back to Jerry Thomas's legendary 1862 ''Bar-Tenders' Guide,'' the first book to collect what was then an oral tradition of recipes. But Thomas merely wrote it down -- no one really knows the origin of the milk punch. ''There are some drinks that we absolutely know who invented them,'' Doc explained. ''Trader Vic created the mai tai. Joe Santini invented the brandy crusta. But otherwise, we don't always know. Everyone wants to have invented the martini, the margarita.''
But we do know that cocktails are an American invention. Unlike the New World, ''Europe was not a place of copious and conspicuous m?nge,'' Doc said. ''Europe was a place of the clean, clear note.'' Because they always had legal and high-quality spirits, Europeans had little need to mix them -- especially in the frantic way we tried to cover up the foul bathtub gin of the Prohibition era. Nor, arguably, would they think to: cocktails were from the beginning socially liquid in a way the Old World was not. They sprang from the dissolute underclass of morning-drinking gamblers, flowed to the subversive young aristocrats who emulated them and finally pooled in the stemmed saucers of the aspiring middle class. The result is an original American art, born of genius and necessity, that's now more than 200 years old.
For many years, cocktails were for Haigh but one obscure passion among many. He has a large collection of prewar silk ties and razors. A 1953 Bentley R-Type car sits in the driveway, one of his four massive midcentury vehicles, and as we drank our milk punches, we listened to the Andrews Sisters singing ''Rum and Coca-Cola,'' one of some 3,000 old 78's he has filed away on shelves along the far wall of the library. For a time in his late teens, he collected nondairy creamers, which he mounted on a board. This was a less successful collection. (''You know that creamers do go bad,'' he explained.)
Everything faded into the background, however, when he discovered the Corpse Reviver No. 2. ''The drink that started it all!'' he said now as he eagerly rose to make one. Doc first read about it as a child in his parents' copy of a 1934 book called ''The Official Mixer's Manual,'' but for years it was for him purely theoretical -- an impossible recipe of lemon juice, Cointreau, pastis and some mysterious substance called Kina Lillet -- which is probably why he wanted it so badly. He spent years searching for Kina Lillet in his native Virginia, to no avail. It was not until he moved to Los Angeles that he finally found a bottle of Lillet -- a vermouth-ish herb-flavored wine spiked with quinine -- and determined that it was the same thing as Kina Lillet. He spirited it quickly home and finally revived the corpse.
He was stunned. ''I knew it was going to be old and arcane and interesting,'' he said, ''but I wasn't expecting it to be the greatest alcoholic beverage I had ever put in my mouth. It was unbelievable. You could taste every single thing individually that was in that drink.'' It is relatively easy to find Lillet these days, and Doc carefully measured it out in a shaker along with the other ingredients, adding just a few drops of Herbsaint, a brand of pastis from New Orleans, dripped from the cap. After vigorous shaking and straining, the drink was near-luminous. A single maraschino cherry shone from the bottom like a creepy beacon from the hazy depths of the glass. I sipped, and as promised, the flavors marched down my tongue as if it were a staircase.


text:
"This was inspired from the lovely little butternut squashes at the Farmer's Market last week. I used my recipe: Sweet Potato Curry With Spinach and Chickpeas as a base, switched the sweet potatoes for butternut squash, and added a can of coconut milk, and came up with this! I did take the time to toast and grind whole cumin and corriander, but feel free to use the already-ground versions of these spices as well. Also, roasting your butternut squash with some salt pepper and curry powder brings a wonderfully deep and carmelized flavor to your curry"
Butternut Squash Coconut Curry
5 recipe photos
READY IN:1hr
Ingredients Nutrition
- 1 onion, chopped
- 4.92-9.85 ml canola oil
- 29.58 ml curry powder
- 14.79 ml cumin
- 14.79 ml coriander
- 4.92 ml cinnamon
- 283.49 g frozen spinach, thawed and drained
- 2 small butternut squash, peeled, seeded, cubed
- curry powder, salt and pepper for sprinkling over squash
- 411.06 g can chickpeas, rinsed and drained
- 411.06 g can diced tomatoes
- 411.06 g can light coconut milk
- salt and pepper, to taste
- 59.14 ml cilantro, chopped for garnish
- basmati rice or brown rice, for serving
- Place cubed butternut squash on a foil lined baking sheet, sprayed with nonstick cooking spray.
- Sprinkle generously with curry powder, salt and pepper, and roast at 350 for 35-45 minutes, or until tender. You still want them to hold their shape when added to the curry, and not be mush :>.
- While squash cooks, heat 1-2 tsp of canola oil over medium heat.
- Add onions and a little bit of salt, and sauté 2-3 minutes, or until they begin to soften.
- Next, add the curry powder, cumin, corriander and cinnamon, and stir to coat the onions evenly with spices.
- Add tomatoes with their juices, and the chickpeas, stir to combine.
- Next, add the spinach, stirring to coat with cooking liquid.
- When all the spinach is added to the pan, cover and simmer until just wilted, about 3 minutes.
- Add coconut milk and gently stir to combine.
- Finally, add the roasted butternut squash to the liquid, and stir to coat.
- Top with fresh chopped cilantro (optional) and serve over basmati rice (I like brown basmati).
get the genius kitchen app.
Watch on your iPhone, iPad, Apple TV, Roku, or Fire TV.Learn More


text:
The hits keep on coming in the celebration of 100 years of Aston Martin. First there was a video focusing on the power and the beauty of the brand. Next up, Aston Martin CEO Dr Ulrich Bez and a gathering of UAE dignitaries were perched atop the magnificent Burj Al Arab hotel in Dubai, awaiting the arrival of a new 2013 Vanquish. The heli-pad atop the sail shaped hotel sits more than 300 metres above the surface of the water.
Red Bull Racing arrives Down Under
Motorsports is big business in Australia and the V8 Supercars are the biggest attraction, which means it is the perfect playground for the gang at Red Bull Racing. While Canadian viewers may not recognize the names of the players, this fun video shows just how wacky things can get when a bunch of Aussie racers are involved in the delivery of a new Holden Commodore V8 race car.
Painting Coconuts – The Audi quattro® Experience
Back in September, I showed you the onboard view from Audi Canada's insanely cool A4 slot cars that were racing around downtown Toronto. I would expect that some Wheels.ca readers probably even had a chance to check out the display. Audi brought in Toronto film maker Tamir Moscovici to create a documentary about the making of the incredibly detailed track. Regular readers will remember Tamir's name as the guy who created Urban Outlaw.
Painting Coconuts follows track builder David Beattie of Slot Mods USA, as he and his team create the one of a kind project that includes the worlds first use of the iPad as a slot car controller.
2012 NASCAR Canadian Tire Series review with DJ Kennington
The 2012 season of the NASCAR Canadian Tire Series presented by Mobil 1 was filled with excitement for all involved, but nobody has as much success as the Champion, DJ Kennington. The son of Canadian Motorsport Hall of Fame inductee Doug Kennington, DJ won an incredible 7 out of 12 races in 2012. Equally impressive is the fact that Kennington finished in the top 5 in an incredible 11 races during the season. NASCAR Home Tracks spent some time with DJ and the crew of the #17 Dodge. Have a look.
Historic footage from the 1968 24 Hours of Daytona
Just one more bit of Daytona history to finish off the week. This time, I have found a classic super 8 video from Porsche, that shows some of the action from the 1968 running of the 24 Hours of Daytona. Unfortunately there is no sound, but the sight of three Porsche's crossing the finish line together is a thing of beauty. This was the first time Porsche had won at Daytona and was a hint of the domination the brand would have in Florida over the coming years.
Next week, I'll switch gears and start showing you more current action from Florida, until I leave for my road trip to the 24 on Thursday morning.