The SDG Toolkit Edward Tse and Saul Greenberg University of Calgary, Alberta Canada.

Slides:



Advertisements
Similar presentations
Complete Structure class Date {class Date { private :private : // private data and functions// private data and functions public :public : // public data.
Advertisements

Continuation of chapter 6…. Nested while loop A while loop used within another while loop is called nested while loop. Q. An illustration to generate.
Revision.
Hand Trace and Output for: int digit = 0; int number = 1423; do { digit = number % 10; System.out.println(digit); number = number / 10; } while (number.
INTERFACES IN JAVA 1.Java Does not support Multiple Inheritance directly. Multiple inheritance can be achieved in java by the use of interfaces. 2.We need.
Reusable Classes.  Motivation: Write less code!
Avoiding Interference Through Translucent Interface Components in Single Display Groupware Ana Zanella & Saul Greenberg University of Calgary.
Groupware Plugins: A Case Study of Extending Collaboration Functionality through Media Items Gregor McEwan, Saul Greenberg, Michael Rounding, Michael Boyle.
Task 1 Draw a picture of a person using a computer You have 60 seconds.
Collabrary Toolkit for Multimedia Groupware Michael Boyle Saul Greenberg University of Calgary.
Saul Greenberg Groupware Infrastructures Saul Greenberg Professor Department of Computer Science University of Calgary.
Customizable Physical Interfaces for interacting with conventional applications This is the powerpoint of the talk presented at UIST –The transcript.
Graphical User Interface (GUI) Nelson Padua-Perez Bill Pugh Department of Computer Science University of Maryland, College Park.
Single Display Groupware Ana Zanella - CPSC
Iterator Pattern Dr. Neal CIS 480. Iterator An iterator pattern can be used when one class is a collection of things and would like to provide a standardized.
Physical User Interfaces Information Visualization | Nicolai Marquardt Between Distributed Physical Devices Visualizing Event Flow Nicolai Marquardt University.
Stanford hci group / cs376 research topics in human-computer interaction I/O Toolkits Scott Klemmer 29 November 2005.
Groupware toolkits for Synchronous work Saul Greenberg, Mark Roseman Dept. of Computer Science, Univ. of Calgary In M. Beaoudouin-Lafon, editor, Computer-Supported.
Motion Capture in 3D Animation Edward Tse. Motion Capture as a Tool Motion capture (MOCAP) is an effective 3D animation tool for realistically capturing.
Program.-(4)* Write a program for input two integer number with message and display their sum. Algorithm steps Algorithm steps 1.Display message for input.
Human Computer Interaction Implementation Support.
Electronic Visualization Laboratory, University of Illinois at Chicago PAVIS Pervasive Adaptive Visualization and Interaction Service Javid Alimohideen.
June 2, Multiple Mice for Computers in Education in Developing Countries Udai Singh Pawar Microsoft Research India Talk at Univ. of Washington June.
Chapter 3 – Fundamentals of Programming in VB.NET VB.NET Controls VB.NET Events Numbers Strings Input and Output.
MOBILE GROUPWARE Jason Tsay Advanced User Interface Software - Spring 2013.
Systems Analysis Lecture 3 Business and ICT ICT Systems & Business Systems 1 BTEC HNC Systems Support Castle College 2007/8.
Required Functions for Program 3 int readUntilValidBaseRead( ); int readNumbersReturningValue( int base ); int decimalValueOf( char chDigit ); bool isValid(
IStuff Mobile: Rapidly Prototyping New Mobile Phone Interfaces for Ubiquitous Computing Rafael Ballagas, Faraz Memon, Ren´e Reiners, Jan Borchers Media.
CPS120: Introduction to Computer Science Functions.
Introduction to OpenGL  OpenGL is a graphics API  Software library  Layer between programmer and graphics hardware (and software)  OpenGL can fit in.
DEVS M&S Tutorial 2 Chungman Seo
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Outline 21.1 Test-Driving the Painter Application.
JDojo and Its Usage Te-Hsin Shih 04/30/2013. Dojo Dojo Toolkit is an open source JavaScript library designed to ease the rapid development of cross-platform,
CSE 341, S. Tanimoto Java brief review - 1 Java Brief Review Java’s strengths Object-oriented terminology Inheritance Interfaces An example with inheritance.
BallWorld.java A structured walkthrough. Key Features: 2 classes are created Execution is done through the procedure called “main” which are decleared.
Practical Programming COMP153-08S Week 5 Lecture 1: Screen Design Subroutines and Functions.
Final Class Diagram for C++ Implementation Clickermatic Software Clicker.
Stanford hci group / cs376 u Jeffrey Heer · 26 May 2009 User Interface Toolkits.
Proposal. The interactive window display is a motion sensing screen that looks like a huge box from inside with an open face for display.
IBM Global Services © 2005 IBM Corporation SAP Legacy System Migration Workbench| March-2005 ALE (Application Link Enabling)
DIGITAL SIGNATURE IMPLEMENTATION
1 Advanced Programming Examples Output. Show the exact output produced by the following code segment. char[,] pic = new char[6,6]; for (int i = 0; i
Functions, Part 1 of 3 Topics  Using Predefined Functions  Programmer-Defined Functions  Using Input Parameters  Function Header Comments Reading 
Int fact (int n) { If (n == 0) return 1; else return n * fact (n – 1); } 5 void main () { Int Sum; : Sum = fact (5); : } Factorial Program Using Recursion.
Processing == Java + Extra Utilities Processing Adds: – Drawing functions – Text and font manipulations – Image and video – 3D transformations – Keyboard.
Refactoring Software Projects Using Object Oriented Concepts Ankit Desai 1, Jaimin Chavda 2, Amit Ganatra 3, Amit Thakkar 4, Yogesh Kosta 5 Charotar Institute.
What’s cheating and what is not?
Multiplication table. x
2011/11/20: Lecture 15 CMSC 104, Section 4 Richard Chang
Object Oriented Analysis and Design
Class Announcements 1 week left until project presentations!
Enterprise Architecture Patterns
Functions, Part 1 of 3 Topics Using Predefined Functions
Week 4 Object-based Programming (2) Classes and Objects: A Deeper Look
Windows Ribbon Framework
5 × 7 = × 7 = 70 9 × 7 = CONNECTIONS IN 7 × TABLE
I/O Toolkits Scott Klemmer · 16 November 2006.
5 × 8 = 40 4 × 8 = 32 9 × 8 = CONNECTIONS IN 8 × TABLE
Web Service.
4 × 6 = 24 8 × 6 = 48 7 × 6 = CONNECTIONS IN 6 × TABLE
5 × 6 = 30 2 × 6 = 12 7 × 6 = CONNECTIONS IN 6 × TABLE
Functions, Part 1 of 3 Topics Using Predefined Functions
A connectionist model in action
10 × 8 = 80 5 × 8 = 40 6 × 8 = CONNECTIONS IN 8 × TABLE MULTIPLICATION.
3 × 12 = 36 6 × 12 = 72 7 × 12 = CONNECTIONS IN 12 × TABLE
Functions, Part 1 of 3 Topics Using Predefined Functions
5 × 12 = × 12 = × 12 = CONNECTIONS IN 12 × TABLE MULTIPLICATION.
5 × 9 = 45 6 × 9 = 54 7 × 9 = CONNECTIONS IN 9 × TABLE
3 × 7 = 21 6 × 7 = 42 7 × 7 = CONNECTIONS IN 7 × TABLE
INTERFACES Explained By: Sarbjit Kaur. Lecturer, Department of Computer Application, PGG.C.G., Sector: 42, Chandigarh.
Presentation transcript:

The SDG Toolkit Edward Tse and Saul Greenberg University of Calgary, Alberta Canada

Single Display Groupware (SDG)

Problems

Message With the SDG Toolkit, programmers can achieve rapid prototyping of SDG applications by easily implementing core SDG functionalities

First Experiences with SDG Zanella and Greenberg, 2001 Greenberg, Boyle, LaBerge, 1999 Greenberg and Fitchett, 2001

Related Work Bederson, et al., 1999 Myers, et al., 1998 Greenberg and Fitchett, 2001 MID Pebbles Phidgets

SDG Toolkit

Core SDG Functionalities Obtaining Input Supporting Tables and Vertical Displays Multiple cursors Widget Layer

Obtaining Input

Supporting Tables and Vertical Displays What is going on?

Obtaining Input Rotation Matrix

Multiple Cursors Cursor[] sdgCursors = {Cursors.Arrow, Cursors.Hand}; String[] sdgText = {"Edward", "Saul"}; int[] sdgDegreeRotations = {-90, 0}; for (int i=0; i < sdgManager1.Mice.Count && i < 2; ++i) { sdgManager1.Mice[i].Cursor = sdgCursors[i]; sdgManager1.Mice[i].Text = sdgText[i]; sdgManager1.Mice[i].DegreeRotation = sdgDegreeRotations[i]; }

Why Existing Widgets are Problematic

SDG Widget Layer public class UserControl1 : SdgUserControl { //Designer generated code private void SdgMouseDown(object sender, SdgMouseEventArgs e) { if (e.ID > 0) this.BackColor = Color.Red; else this.BackColor = Color.Blue; }

SDG Widget Layer Example SDG Widgets Diaz-Marino, Tse and Greenberg, (2003)

SDG Flow Menu

SDG Magic Lenses

Diamond Touch Toolkit Extending the SDG Toolkit Diaz-Marino, Tse and Greenberg, (2003)

Digital Vision Technology Extending the SDG Toolkit

Message Thanks to NSERC, SMART Technologies, Alberta Ingenuity and iCore for their financial support Software available at With the SDG Toolkit, programmers can achieve rapid prototyping of SDG applications by easily implementing core SDG functionalities