Patents by Inventor Shawn A. Van Ness

Shawn A. Van Ness has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9069829
    Abstract: An items manager can request and receive data items from a data source via a data source adapter. The items manager can also maintain a list of data representation items representing data items. The data representation items can include user interface elements. Also, maintaining the list can include invoking a renderer to render the data representation items from the data items received from the data source, and including the data representation items in the list. The items manager can provide a client with an enumeration through the list of data representation items. The items manager may also provide other features, such as providing the client with notifications of changes to the list of data representation items.
    Type: Grant
    Filed: January 21, 2011
    Date of Patent: June 30, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Paul J. Kwiatkowski, Shawn A. Van Ness, Nicolas Brun, Michael A. Nelte, Arpit S. Shah, Paul A. Gusmorino
  • Patent number: 8983907
    Abstract: An original representation of an original set of data in a data source can be provided, and an updated representation of an updated set of data in the data source can be received. A change notification set that includes change notifications can be generated by comparing the updated representation with the original representation. The change notification set can represent a possible set of changes that yield the updated representation when starting with the original representation. The change notification set can be sent to a client of the data source. One or more requests from the client for data from the data source may be processed while obtaining the updated representation of the updated set of data. This processing can include adding one or more placeholders and matching the placeholder(s) with one or more items in the updated set of data.
    Type: Grant
    Filed: December 8, 2010
    Date of Patent: March 17, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Paul J. Kwiatkowski, Shawn A. Van Ness, Nicolas Brun, Michael A. Nelte, Arpit S. Shah, Paul A. Gusmorino
  • Patent number: 8838533
    Abstract: A data representation that represents source data at a data source can be maintained. A request to perform an edit can be received from a client, and a request to make the edit to the source data can be sent to the data source. The edit can be optimistically applied to the data representation. Additionally, a change notification can be sent to the client. The change notification can indicate one or more changes to the data representation, where the change(s) resulted from the application of the edit to the data representation. A notification can be received from the data source after applying the edit to the data representation and after sending the change notification. The notification from the data source can indicate whether the edit to the source data succeeded.
    Type: Grant
    Filed: May 20, 2011
    Date of Patent: September 16, 2014
    Assignee: Microsoft Corporation
    Inventors: Paul J. Kwiatkowski, Shawn A. Van Ness, Nicolas Brun, Michael A. Nelte, Arpit S. Shah, Paul A. Gusmorino
  • Patent number: 8726237
    Abstract: Many computer applications involve event driven programming. Unfortunately, it may be burdensome on application developers to develop event handlers in unmanaged code for all relevant events within their computer application. For example, when using COM objects in connection with event handling, the burden of lifetime management may be placed on the application developer. Accordingly, one or more systems and/or techniques for event handling in unmanaged code are disclosed herein. A delegate comprising a first interface and a second interface is provided. The delegate may receive event data from a software platform connected to the first interface and may notify a function of a process connected to the second interface. The delegate self destructs when both the computing platform and the process have released their connections to the respective interfaces, thus mitigating manual coding of lifetime management functionality within the process.
    Type: Grant
    Filed: October 28, 2009
    Date of Patent: May 13, 2014
    Assignee: Microsoft Corporation
    Inventors: Shawn Van Ness, Paul Kwiatkowski, Nikhil Dang, Martyn Lovell, Benjamin Constable, Gary Henderson
  • Patent number: 8666997
    Abstract: One or more requests from a client for data representation items can be received by an items manager. The data representation items can represent data items in a data source. In response, the items manager can perform the following: generating placeholders corresponding to the data representation items; returning the placeholders to the client; fetching the data items from the data source; providing the data representation items to the client; and informing the client that the placeholders are to be replaced with the data representation items. The items manager may determine whether each data representation item can be synchronously returned to the client. If so, the items manager may return that data representation item synchronously, and may forego providing the client with a placeholder for that data representation item. This may allow a client to interact with a single interface for both synchronous and asynchronous data sources.
    Type: Grant
    Filed: December 8, 2010
    Date of Patent: March 4, 2014
    Assignee: Microsoft Corporation
    Inventors: Paul J. Kwiatkowski, Shawn A. Van Ness, Nicolas Brun, Michael A. Nelte, Arpit S. Shah, Paul A. Gusmorino
  • Publication number: 20120296875
    Abstract: A data representation that represents source data at a data source can be maintained. A request to perform an edit can be received from a client, and a request to make the edit to the source data can be sent to the data source. The edit can be optimistically applied to the data representation. Additionally, a change notification can be sent to the client. The change notification can indicate one or more changes to the data representation, where the change(s) resulted from the application of the edit to the data representation. A notification can be received from the data source after applying the edit to the data representation and after sending the change notification. The notification from the data source can indicate whether the edit to the source data succeeded.
    Type: Application
    Filed: May 20, 2011
    Publication date: November 22, 2012
    Applicant: Microsoft Corporation
    Inventors: Paul J. Kwiatkowski, Shawn A. Van Ness, Nicolas Brun, Michael A. Nelte, Arpit S. Shah, Paul A. Gusmorino
  • Publication number: 20120284653
    Abstract: Various embodiments provide techniques and processes for defining elements of a user interface (UI) using a tree of objects created based on a markup language. In some embodiments, a client application provides markup that defines one or more aspects of a UI to an application programming interface (API). The API parses the markup to determine a namespace and one or more UI elements defined by the namespace. Instances of the UI elements are created, and properties of the UI elements are set on the instances. A user interface may then be displayed that includes the instances of the UI elements.
    Type: Application
    Filed: July 16, 2012
    Publication date: November 8, 2012
    Applicant: Microsoft Corporation
    Inventors: Shawn A. Van Ness, Paul J. Kwiatkowski, Nikhil Dang, Martyn S. Lovell
  • Patent number: 8245144
    Abstract: Various embodiments provide techniques and processes for defining elements of a user interface (UI) using a tree of objects created based on a markup language. In some embodiments, a client application provides markup that defines one or more aspects of a UI to an application programming interface (API). The API parses the markup to determine a namespace and one or more UI elements defined by the namespace. Instances of the UI elements are created, and properties of the UI elements are set on the instances. A user interface may then be displayed that includes the instances of the UI elements.
    Type: Grant
    Filed: June 27, 2008
    Date of Patent: August 14, 2012
    Assignee: Microsoft Corporation
    Inventors: Shawn A. Van Ness, Paul J. Kwiatkowski, Nikhil Dang, Martyn S. Lovell
  • Publication number: 20120191747
    Abstract: An items manager can request and receive data items from a data source via a data source adapter. The items manager can also maintain a list of data representation items representing data items. The data representation items can include user interface elements. Also, maintaining the list can include invoking a renderer to render the data representation items from the data items received from the data source, and including the data representation items in the list. The items manager can provide a client with an enumeration through the list of data representation items. The items manager may also provide other features, such as providing the client with notifications of changes to the list of data representation items.
    Type: Application
    Filed: January 21, 2011
    Publication date: July 26, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Paul J. Kwiatkowski, Shawn A. Van Ness, Nicolas Brun, Michael A. Nelte, Arpit S. Shah, Paul A. Gusmorino
  • Publication number: 20120150885
    Abstract: An original representation of an original set of data in a data source can be provided, and an updated representation of an updated set of data in the data source can be received. A change notification set that includes change notifications can be generated by comparing the updated representation with the original representation. The change notification set can represent a possible set of changes that yield the updated representation when starting with the original representation. The change notification set can be sent to a client of the data source. One or more requests from the client for data from the data source may be processed while obtaining the updated representation of the updated set of data. This processing can include adding one or more placeholders and matching the placeholder(s) with one or more items in the updated set of data.
    Type: Application
    Filed: December 8, 2010
    Publication date: June 14, 2012
    Applicant: Microsoft Corporation
    Inventors: Paul J. Kwiatkowski, Shawn A. Van Ness, Nicolas Brun, Michael A. Nelte, Arpit S. Shah, Paul A. Gusmorino
  • Publication number: 20120150886
    Abstract: One or more requests from a client for data representation items can be received by an items manager. The data representation items can represent data items in a data source. In response, the items manager can perform the following: generating placeholders corresponding to the data representation items; returning the placeholders to the client; fetching the data items from the data source; providing the data representation items to the client; and informing the client that the placeholders are to be replaced with the data representation items. The items manager may determine whether each data representation item can be synchronously returned to the client. If so, the items manager may return that data representation item synchronously, and may forego providing the client with a placeholder for that data representation item. This may allow a client to interact with a single interface for both synchronous and asynchronous data sources.
    Type: Application
    Filed: December 8, 2010
    Publication date: June 14, 2012
    Applicant: Microsoft Corporation
    Inventors: Paul J. Kwiatkowski, Shawn A. Van Ness, Nicolas Brun, Michael A. Nelte, Arpit S. Shah, Paul A. Gusmorino
  • Publication number: 20110096076
    Abstract: Many computer applications incorporate and support animation. Application performance may be enhanced by delegating animation management to an application program interface (animation API) for animation. Accordingly, an animation API for managing animation is disclosed herein. The animation API may be configured to sequentially interpolate values of animation variables defining animation movement of animation objects. The animation API may interpolate the values of the animation variables using animation transitions within animation storyboards. The animation API may be configured to determine durations of animation transitions based upon animation characteristics parameters (e.g., starting position, desiring ending position, starting velocity of an animation variable). Durations and start times of animation transitions may be determined based upon key frames. The animation API may be configured to resolve scheduling conflicts among one or more animation transitions.
    Type: Application
    Filed: October 27, 2009
    Publication date: April 28, 2011
    Applicant: Microsoft Corporation
    Inventors: Paul Kwiatkowski, Sankhyayan Debnath, Martyn Lovell, Nicolas Brun, Robert Jarrett, Billie Sue Chafins, Paul Gildea, Shawn Van Ness, Jay Turney
  • Publication number: 20110099537
    Abstract: Many computer applications involve event driven programming. Unfortunately, it may be burdensome on application developers to develop event handlers in unmanaged code for all relevant events within their computer application. For example, when using COM objects in connection with event handling, the burden of lifetime management may be placed on the application developer. Accordingly, one or more systems and/or techniques for event handling in unmanaged code are disclosed herein. A delegate comprising a first interface and a second interface is provided. The delegate may receive event data from a software platform connected to the first interface and may notify a function of a process connected to the second interface. The delegate self destructs when both the computing platform and the process have released their connections to the respective interfaces, thus mitigating manual coding of lifetime management functionality within the process.
    Type: Application
    Filed: October 28, 2009
    Publication date: April 28, 2011
    Applicant: Microsoft Corporation
    Inventors: Shawn Van Ness, Paul J. Kwiatkowski, Nikhil Dang, Martyn S. Lovell, Benjamin Constable, Gary Henderson
  • Patent number: 7924284
    Abstract: A process for rendering highlighter ink strokes and non-highlighter ink strokes in a non-rastering environment is described. Strokes may be grouped under a node having a predefined opacity. The strokes inherit the opacity from the node. Additionally, visuals containing highlighter strokes of the same color are grouped into collections of visuals (one collection per each highlighter color), and change the opacity of the collection (parent) visual to semi-transparent (or any other transparency value defined for the highlighter effect).
    Type: Grant
    Filed: August 29, 2005
    Date of Patent: April 12, 2011
    Assignee: Microsoft Corporation
    Inventors: Brian J. Ewanchuk, Koji Kato, Stefan Wick, Vladimir V. Smirnov, Sam J. George, Shawn Van Ness
  • Publication number: 20090327922
    Abstract: Various embodiments provide techniques and processes for defining elements of a user interface (UI) using a tree of objects created based on a markup language. In some embodiments, a client application provides markup that defines one or more aspects of a UI to an application programming interface (API). The API parses the markup to determine a namespace and one or more UI elements defined by the namespace. Instances of the UI elements are created, and properties of the UI elements are set on the instances. A user interface may then be displayed that includes the instances of the UI elements.
    Type: Application
    Filed: June 27, 2008
    Publication date: December 31, 2009
    Applicant: Microsoft Corporation
    Inventors: Shawn A. Van Ness, Paul J. Kwiatkowski, Nikhil Dang, Martyn S. Lovell
  • Patent number: 7499058
    Abstract: A system and method for performing ink related operations in a tree-based presentation system is described. Ink-related programmatical interfaces may relate to interactions with a stroke object, a stroke collection object, and ink input elements.
    Type: Grant
    Filed: April 24, 2006
    Date of Patent: March 3, 2009
    Assignee: Microsoft Corporation
    Inventors: Shawn Van Ness, Sam George, Stefan Wick, Brian Ewanchuk, Todd Torset, Wayne Zeng, Xiao Tu, Koji Kato, Alexander Kolmykov-Zotov, Timothy Kannapel, Manoj Biswas, Kevin Welton, Richmond Lough, Chandramouli Kompella, Hongan Wang, Steven P. Dodge, Todd M. Landstad, Shiraz Somji, Vladimir V. Smirnov, Stephen A. Fisher, Rudolph Balaz, Michael Russell
  • Publication number: 20060274057
    Abstract: A system and method for performing ink related operations in a tree-based presentation system is described. Ink-related programmatical interfaces may relate to interactions with a stroke object, a stroke collection object, and ink input elements.
    Type: Application
    Filed: April 24, 2006
    Publication date: December 7, 2006
    Applicant: MICROSOFT CORPORATION
    Inventors: Shawn Van Ness, Sam George, Stefan Wick, Brian Ewanchuk, Todd Torset, Wayne Zeng, Xiao Tu, Koji Kato, Alexander Kolmykov-Zotov, Timothy Kannapel, Manoj Biswas, Kevin Welton, Richmond Lough, Chandramouli Kompella, Hongan Wang, Steven Dodge, Todd Landstad, Shiraz Somji, Vladimir Smirnov, Stephen Fisher, Rudolph Balaz, Michael Russell
  • Publication number: 20060242349
    Abstract: A process for rendering highlighter ink strokes and non-highlighter ink strokes in a non-rastering environment is described. Strokes may be grouped under a node having a predefined opacity. The strokes inherit the opacity from the node.
    Type: Application
    Filed: August 29, 2005
    Publication date: October 26, 2006
    Applicant: Microsoft Corporation
    Inventors: Brian Ewanchuk, Koji Kato, Stefan Wick, Vladimir Smirnov, Sam George, Shawn Van Ness