Chris Whytock - Seattle WA, US Carlos Pessoa - Redmond WA, US Paul Armistead Hoover - Kirkland WA, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06K 9/00
US Classification:
345173, 345175, 715863
Abstract:
Various embodiments related to the location and adjustment of a virtual object on a display in response to a detected physical object are disclosed. One disclosed embodiment provides a computing device comprising a multi-touch display, a processor and memory comprising instructions executable by the processor to display on the display a virtual object, to detect a change in relative location between the virtual object and a physical object that constrains a viewable area of the display, and to adjust a location of the virtual object on the display in response to detecting the change in relative location between the virtual object and the physical object.
Interactive Display System With Contact Geometry Interface
Luis Eduardo Cabrera Cordon - Bothell WA, US Robert Levy - Seattle WA, US Sundaram Ramani - Redmond WA, US Daniel Wigdor - Seattle WA, US Joyce Wu - Redmond WA, US Ian Middleton - Bellevue WA, US Paul Armistead Hoover - Kirkland WA, US Sarat Subramaniam - Bellevue WA, US Carlos Pessoa - Redmond WA, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 3/042
US Classification:
345175, 345173
Abstract:
An interactive display system with a contact geometry interface is disclosed. The interactive display system may include a multi-touch display, a touch detection system configured to detect a touch input on the multi-touch display and to generate contact geometry for a contact region of the touch input, and an application programming interface executed on a processor of the interactive display system. The application programming interface may be configured to receive the contact geometry and to send the contact geometry to a requesting application program for application-level processing. Further, the application programming interface may be configured to receive from the application program a display command based on the application level-processing. The application programming interface may be configured to send the display command to the multi-touch display to adjust a display of a graphical element on the multi-touch display.
Virtual Object Adjustment Via Physical Object Detection
Chris Whytock - Seattle WA, US Carlos Pessoa - Redmond WA, US Paul Armistead Hoover - Kirkland WA, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 3/041
US Classification:
345173, 345174, 715863, 715765
Abstract:
Various embodiments related to the location and adjustment of a virtual object on a display in response to a detected physical object are disclosed. One disclosed embodiment provides a computing device comprising a multi-touch display, a processor and memory comprising instructions executable by the processor to display on the display a virtual object, to detect a change in relative location between the virtual object and a physical object that constrains a viewable area of the display, and to adjust a location of the virtual object on the display in response to detecting the change in relative location between the virtual object and the physical object.
Chris Whytock - Seattle WA, US Derek Sunday - Renton WA, US Carlos Pessoa - Redmond WA, US
Assignee:
MICROSOFT CORPORATION - Redmond WA
International Classification:
G06F 3/02
US Classification:
345168, 345173
Abstract:
A computing system includes a display and a sensor to detect multi-touch input at the display. The computing system further includes a processing subsystem operatively connected to the display and the sensor and computer-readable media operatively connected to the processing subsystem and including instructions executable by the processing subsystem. Such instructions cause the display to present a virtual keyboard image, the virtual keyboard image including a primary key and a modifier key. Such instructions also translate touch input at only the primary key into a first keyboard message and translate temporally overlapping touch input at both the primary key and the modifier key into a second keyboard message, different than the first keyboard message.
Use Of Secondary Factors To Analyze User Intention In Gui Element Activation
Chris Whytock - Seattle WA, US Peter Vale - Redmond WA, US Steven Seow - Maple Valley WA, US Carlos Pessoa - Redmond WA, US Paul Armistead Hoover - Kirkland WA, US
Assignee:
MICROSOFT CORPORATION - Redmond WA
International Classification:
G06F 3/01
US Classification:
715702
Abstract:
An interactive media display system and a method of activating a graphical user interface element presented by the interactive media display system are provided. The method includes presenting the graphical user interface element via a touch-sensitive display surface of the interactive media display system; receiving a user input at the touch-sensitive display surface; determining whether one or more secondary factors associated with the user input indicate an intentional contact with the graphical user interface element that is presented via the touch sensitive display surface; activating the graphical user interface element if the one or more secondary factors indicate the intentional contact with the graphical user interface element; and disregarding the user input by not activating the graphical user interface if the one or more secondary factors do not indicate the intentional contact.
Frame Invalidation Control With Causality Attribution
- Redmond WA, US Pankaj Kachrulal Sarda - Redmond WA, US Carlos Pessoa - Redmond WA, US David William Shoots - Hollis NH, US Steven Brix Kirbach - Seattle WA, US
International Classification:
G06T 1/20 G06F 9/451 G06F 9/44 G09G 5/36
Abstract:
Developers receive automatically designated property change events which caused invalidation of a rendered frame. Some embodiments control display invalidation in part by identifying higher-level frame bounding events in an execution trace, and applying at least one display invalidation constituency filter to lower-level thread events within a frame creation period, thereby obtaining a display invalidation constituency sequence of one or more display invalidation events. The sequence may include a layout property change event and/or a render property change event which invalidated the frame. An initial part of the sequence is designated as a display frame creation cause. Displayed frame invalidation is controlled by altering the display invalidation constituency, e.g., by manual or automated layout/render property change event elimination or event sequence location change, by a reduction in computational resource usage (e.g., memory usage, graphics processor chip usage), and/or by a reduction in thread execution time which provides a faster frame rate.
Performance State Machine Control With Aggregation Insertion
- Redmond WA, US Pankaj Kachrulal Sarda - Redmond WA, US Carlos Pessoa - Redmond WA, US David William Shoots - Hollis NH, US
International Classification:
G06F 11/34 G06F 11/32 G06F 11/30
Abstract:
A performance state machine is controlled in part by identifying notifications from an execution trace of an application program, through rapid automatic comparison of trace events to notification events for notification categories. Some notification categories include application startup, page outline load, page data load start, page data load finish, page to page transition, application input, window size change, media query, binding update, page background task start, page background task finish, developer-defined scenario start, and developer-defined scenario finish. Notifications may reflect heuristics such as the time from startup to first frame submission. A state is placed in the performance state machine for each identified notification, with aggregate application performance data for each transition between identified notifications. Some performance data categories include network activity, disk activity, memory usage, parse time, frame time, dropped frames, component or overall frame rates, and thread utilization. Timelines and other visual representations aid application performance optimization.
Frame Invalidation Control With Causality Attribution
- Redmond WA, US Pankaj Kachrulal Sarda - Redmond WA, US Carlos Pessoa - Redmond WA, US David William Shoots - Hollis NH, US Steven Brix Kirbach - Seattle WA, US
International Classification:
G06T 1/20
Abstract:
Developers receive automatically designated property change events which caused invalidation of a rendered frame. Some embodiments control display invalidation in part by identifying higher-level frame bounding events in an execution trace, and applying at least one display invalidation constituency filter to lower-level thread events within a frame creation period, thereby obtaining a display invalidation constituency sequence of one or more display invalidation events. The sequence may include a layout property change event and/or a render property change event which invalidated the frame. An initial part of the sequence is designated as a display frame creation cause. Displayed frame invalidation is controlled by altering the display invalidation constituency, e.g., by manual or automated layout/render property change event elimination or event sequence location change, by a reduction in computational resource usage (e.g., memory usage, graphics processor chip usage), and/or by a reduction in thread execution time which provides a faster frame rate.
Resumes
Principal Software Engineering Manager, Cloud Ai Platform
Microsoft Mar 2012 - Oct 2015
Senior Software Engineer, Visual Studio
Microsoft Mar 2012 - Oct 2015
Principal Software Engineering Manager, Cloud Ai Platform
Microsoft Feb 2010 - Feb 2012
Senior Software Engineer, Xbox
Microsoft Oct 2005 - Jan 2010
Software Engineer Ii, Surface
Microsoft Jan 2002 - Sep 2005
Software Engineer, .Net Framework
Education:
Universidade Federal De Pernambuco 2000 - 2001
Masters, Computer Science
Universidade Federal De Pernambuco 1996 - 2000
Bachelors, Computer Science
Skills:
Visual Studio C# .Net Windows Azure Software Development Agile Methodologies Cloud Computing Xaml Xamarin Mobile Applications Game Development Software Engineering Software Design Scrum Object Oriented Design Ios Development Test Cases Debugging Machine Learning User Interface