Direct Manipulation.

Slides:



Advertisements
Similar presentations
TU e technische universiteit eindhoven / department of mathematics and computer science Modeling User Input and Hypermedia Dynamics in Hera Databases and.
Advertisements

1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 11 Designing for Usability I.
 User Interface - Raeha Sandalwala.  Introduction to UI  Layouts  UI Controls  Menus and ‘Toasts’  Notifications  Other interesting UIs ◦ ListView.
Computer Main Parts.
Word Processing, Web Browsing, File Access, etc. Windows Operating System (Kernel) Window (GUI) Platform Dependent Code Virtual Memory “Swap” Block Data.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
UNIT-V The MVC architecture and Struts Framework.
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Model-View-Controller Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University.
CSCI 588 – FA05David Woollard - Peter Tipton - Andrew Hart Team 6 Status Review October 18, 2005 David Woollard (ID: 8735) Andrew Hart (ID: 4152) Peter.
(c) University of Washington08-1 CSC 143 Models and Views Reading: Ch. 18.
Clever Framework Name That Doesn’t Violate Copyright Laws MARCH 27, 2015.
Visual C# 2012 How to Program © by Pearson Education, Inc. All Rights Reserved.
A computer system is made up of several components. Those that can be seen and touched are referred to as the hardware. Those that can’t be seen or touched.
Windows 8 A touch screen computer on a desktop. Windows Metro.
Internet Explorer 10 IE9 hardware-accelerated platform CSS 2D Transforms CSS Backgrounds & Borders CSS Color CSS Fonts CSS Media Queries CSS Namespaces.
Model View ViewModel Architecture. MVVM Architecture components.
12-Jun-16 Event loops. 2 Programming in prehistoric times Earliest programs were all “batch” processing There was no interaction with the user Input Output.
CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I.
Chapter 1 Getting Started with ASP.NET Objectives Why ASP? To get familiar with our IDE (Integrated Development Environment ), Visual Studio. Understand.
Unit 2 Technology Systems
Characteristics of Graphical and Web User Interfaces
Touch and Go: Leading Touch UI with Open Source
Windows Forms for mobile development
Elements of a computer system
Computer Applications
Introduction to .NET Florin Olariu
Working in the Forms Developer Environment
Event Loops and GUI Intro2CS – weeks
CompSci 230 S Software Construction
Learning to Program D is for Digital.
Chapter 2 Hix & Hartson Guidelines.
Mobile App Development
Introduction to Event-Driven Programming
Operating Systems (CS 340 D)
Java Look-and-Feel Design Guidelines
Chapter 2: System Structures
Linux Operating System Architecture
Software Design and Architecture
Computer Organization & Assembly Language Chapter 3
Creating Visual Effects and Animation
Introduction to Operating System (OS)
Instructor Name Instructor Title Library Name
Computer Concept What is a computer?
RESPONSIVE WEB DESIGN.
Understand Windows Forms Applications and Console-based Applications
Module 1.1 Introduction to computers
08/28/06 parts of the computer.
Usability and user Interfaces
.NET and .NET Core 7. XAML Pan Wuming 2017.
Chapter 2: System Structures
CIS16 Application Development – Programming with Visual Basic
Interactive Input Methods & Graphical User Input
Lecture 1: Multi-tier Architecture Overview
CS371m - Mobile Computing Responsiveness.
Elements of a Computer System
What is Concurrent Programming?
Android Topics UI Thread and Limited processing resources
Software testing and configuration : Embedded software testing
Analysis models and design models
An Introduction to Software Architecture
Event loops 17-Jan-19.
Central Processing Unit
Interactive Input Methods & Graphical User Input
Characteristics of Graphical and Web User Interfaces
05 | Desktop Applications
Model, View, Controller design pattern
Computer Generations.
COMPUTER ORGANIZATION
08/28/06 parts of the computer.
Presentation transcript:

Direct Manipulation

What is direct manipulation? In computer science, direct manipulation is a human– computer interaction style which involves continuous representation of objects of interest and rapid, reversible, and incremental actions and feedback. An example of direct manipulation is resizing a graphical shape, such as a rectangle, by dragging its corners or edges with a mouse.

The API The Direct Manipulation APIs let you create great pan, zoom, and drag user experiences. To do this, it processes touch input on a region or object, generates output transforms, and applies the transforms to UI elements

Developer Audience The Direct Manipulation API is for experienced developers who know C/C++, have a solid understanding of the Component Object Model (COM), and are familiar with Windows programming concepts.

Run-time requirements Direct Manipulation was introduced in Windows 8. It is included in both 32-bit and 64-bit versions.

Why use DirectManipulation Handles interactions in a straightforward and consistent manner. Direct Manipulation works by pre-declaring the behaviors and interactions for a region or object. For example, a web page is often configured for pan and zoom. At runtime, input is then associated with this region/object through a simple API call. From this point forward Direct Manipulation does all the heavy lifting of processing the input, applying constraints and personality, and generating the output transforms.

Why use DirectManipulation Build responsive touch applications. To optimize responsiveness and minimize latency, Direct Manipulation processing occurs on a separate, independent thread from the UI thread. As a result, output transforms can run in parallel to activity on the UI thread. The UI thread activity may include application logic, rendering, layout, and anything else that consumes cycles on the processor.

Disadvantages May require graphics displays and pointing devices May be hard to code

Basic concepts The most basic Direct Manipulation implementation consists of a viewport, content, and interactions. The viewport is a region that is able to receive and process input from user interactions. It is also the region of the content that is visible to the end-user. The content is the actual object that end-users can see and is what moves or scales in response to a user interaction. The primary user interactions (also known as manipulations) supported by Direct Manipulation are panning and zooming.

Processing keyboard and mouse input Direct Manipulation allows keyboard and mouse messages to be forwarded manually from the application UI thread via the ProcessInput API such that they can be handled appropriately by Direct Manipulation.

Sources https://dl.acm.org/citation.cfm?doid=1978942.1979033 https://msdn.microsoft.com/zh-cn/ie/hh446969(v=vs.80) https://web.cs.dal.ca/~jamie/teach/MatthewDean/dialog_st yles/tsld012.htm

Thank you!