TL;DR: In this article, the authors describe content-based snap points and techniques that use these snap points to stop at points in content that are convenient, prevent overshooting of important parts in the content, and/or aid user's in manipulating and consuming the content.
Abstract: This document describes content-based snap points and techniques that use these snap points. In some embodiments, multiple content-based snap points are used to stop at points in content that are convenient, prevent overshooting of important parts in the content, and/or aid user's in manipulating and consuming the content.
TL;DR: In this article, a method for automatically connecting drawing elements to other drawing elements, which can include selecting one or more snap modes from a set of snap modes, drawing an element in a graphics file with a cursor, moving the cursor to a position within a distance tolerance of a second drawing element, automatically determining the set of snapping points from the position of the cursor, based on the selected snap modes.
Abstract: The present invention can include a method in a computer system for automatically connecting drawing elements to other drawing elements, which can include selecting one or more snap modes from a set of snap modes; drawing an element in a graphics file with a cursor; moving the cursor to a position within a distance tolerance of a second drawing element; automatically determining a set of snap points from the position of the cursor, based on the selected snap modes; visually highlighting a snap point; releasing the end of the first element; and automatically connecting the end of the first element with the snap point. The method can further include any of: identifying that the cursor is in a position within a distance tolerance of a trigger location in a drawing and automatically determining a snap point from the trigger location, where the snap point location is different from the trigger location; highlighting the snap point with an icon depicting the location of the snap point and a different icon depicting the mode of the snap point; excluding one or more types of drawing elements from snap point calculations; receiving a snap point or a snap mode from another software process; prioritizing the snap modes; or sounding an auditory indication that snapping has occurred.
TL;DR: In this article, a user completes a scroll gesture, the displayed content continues to scroll with reducing velocity until the scroll slows to a stop within the scrollable view, by enforcing an inertial snap point by causing the scroll to stop when a boundary of the view coincides with the inertial point.
Abstract: A scroll viewer control that displays associated content having inertial snap points in a scrollable view. The scroll viewer control applies inertial movement to displayed content such that even after a user completes a scroll gesture, the displayed content continues to scroll with reducing velocity until the scroll slows to a stop within the scrollable view. In so doing, the scroll viewer control enforces an inertial snap point by causing the scroll to stop when a boundary of the scrollable view coincides with the inertial snap point. A content control may implements an interface that allows the scroll viewer control to discover the snap point set associated with the content. Furthermore, the content control may notify the scroll viewer control of changes in the snap point set.
TL;DR: In this paper, the authors present a system for scrollingable user interface containers, which allows mixing smooth and snap items in the same container, such that the position of the scroll position is adjusted based upon a snap point range limit.
Abstract: The described technology is directed towards scrollable user interface containers, and allows mixing snap items and smooth items in the same container. Snap point ranges that correspond to container snap items are specified, such as by pixel values or per container item to be rendered. When because of a scroll operation a snap item of the container overlaps a boundary of a viewing port (e.g., if rendered), the scroll position is adjusted based upon a snap point range limit to snap the snap item for rendering based upon the viewing port boundary.
TL;DR: The authors believe that this Software Non-functional Assessment Process v. 2.0 (SNAP) is ready to enter industry and academia for initial practice and further research.
Abstract: : Sizing software requirements is an essential best practice in software project management for forecasting the work effort required for software development projects (and other related metrics). Arguably, the currently most accurate software metric for measuring the size of software is the International Function Point Users Group (IFPUG) function point, which has the ISO standard ISO/IEC 20926:2009. Function points basically measure the size of the data flow and storage through the software, which we define in this paper as functional requirements. But function points do not measure other software requirements, which also require work effort resources. IFPUG has recently completed a successful beta test of a new method to assess the size of other, nonfunctional requirements, which when used in conjunction with function points should further increase the accuracy of software forecasting. The authors believe that this Software Non-functional Assessment Process v. 2.0 (SNAP) is ready to enter industry and academia for initial practice and further research.