23
CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #define PORT 12997 /* The port number of the server */ main() { int main_sock, new_sock, count; struct sockaddr_in server; /* Create a socket */ if (( main_sock = socket(AF_INET, SOCK_STREAM, 0)) < 0 problem("Socket problem"); /* Name the socket using wildcards */ bzero (&server, sizeof (server)); server.sin_family = AF_INET; server.sin_addr.s_addr = INADDR_ANY; server.sin_port = htons(PORT); /* Set the options of the socket */ count = 1; if ((setsockopt(main_sock, SOL_SOCKET) SO_REUSEADDR, problem ("Bind problem.") } /* Bind the socket to the address */ if (bind(main_sock, &server, sizeof server) < 0)

CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,

Embed Size (px)

Citation preview

Page 1: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,

CPSC 701.81

Ubiquitous ComputingTopic: Proxemic Interactions

#include <stdio.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#define PORT 12997 /* The port number of the server */

main(){ int main_sock, new_sock, count; struct sockaddr_in server;

/* Create a socket */ if (( main_sock = socket(AF_INET, SOCK_STREAM, 0)) < 0 problem("Socket problem");

/* Name the socket using wildcards */ bzero (&server, sizeof (server)); server.sin_family = AF_INET; server.sin_addr.s_addr = INADDR_ANY; server.sin_port = htons(PORT);

/* Set the options of the socket */ count = 1; if ((setsockopt(main_sock, SOL_SOCKET) SO_REUSEADDR, problem ("Bind problem.") }

/* Bind the socket to the address */ if (bind(main_sock, &server, sizeof server) < 0)

Page 2: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,

Your Hosts

Saul Greenberg• human computer interaction • computer supported

cooperative work• ubicomp

Nic Marquardt• PhD student• proxemic interactions

Page 3: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,

Your Hosts

Contact information• Saul: [email protected] • Nic: [email protected]

Office hours• MS 680 – Interactions Laboratory or ME-dia Space• by appointment:

o email to arrange one

• by email any time• before class for brief meetings• drop in for urgent requests

o but no guarantees!

Page 4: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,

Draw a computer

Page 5: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,
Page 6: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,
Page 7: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,

We can do better

Page 8: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,

But we need to revisit how we think about computers

Page 9: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,

CPSC 701.81

Ubiquitous ComputingTopic: Proxemic Interactions

#include <stdio.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#define PORT 12997 /* The port number of the server */

main(){ int main_sock, new_sock, count; struct sockaddr_in server;

/* Create a socket */ if (( main_sock = socket(AF_INET, SOCK_STREAM, 0)) < 0 problem("Socket problem");

/* Name the socket using wildcards */ bzero (&server, sizeof (server)); server.sin_family = AF_INET; server.sin_addr.s_addr = INADDR_ANY; server.sin_port = htons(PORT);

/* Set the options of the socket */ count = 1; if ((setsockopt(main_sock, SOL_SOCKET) SO_REUSEADDR, problem ("Bind problem.") }

/* Bind the socket to the address */ if (bind(main_sock, &server, sizeof server) < 0)

Page 10: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,

Course contents

• in-depth course in Ubiquitous Computing

• case-study: leading edge research topic in Ubicomp o proxemic interactions

• involves o significant research component o background knowledge / experience in HCI preferred

Page 11: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,

Course contents

Core concepts• What is ubiquitous computing?• What is proxemic interactions?

lectures, readings, discussions, mentoring…

Page 12: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,

Daniel Vogel, Ravin Balakrishnan. (2004). Interactive public ambient displays: transitioning from implicit to explicit, public to personal, interaction with multiple users. Proceedings of UIST 2004 – the ACM Symposium on User Interface Software and Technology. p. 137-146

Page 13: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,

Minority Report, excerpt

Page 14: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,

Course contents

Core concepts

Case studies• How can proxemic interactions be realized in various situations?

o readings in listo readings you discovero presentations by you and visitorso discussions / blog entrieso your research projects

Page 15: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,

Course contents

Core concepts

Case studies• How can proxemic interactions be realized in various situations?

o social theory o technological infrastructureso toolkitso interaction techniqueso application domainso ways it has been applied to design

Page 16: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,

Primary Resources

course site• www.cpsc.ucalgary.ca/~saul/

lecture materials• slides and readings • see web site

readings• see web site

software• see software

video archive

.

Page 17: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,

The Blog

blog site• http://cpsc70181.blogspot.com/

You can• post • comment

Expected of all readings• thoughts of one or two issues• relate reading to

o other papers oro everyday word oro personal experiences / research, etc,

.

Page 18: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,

How you will be evaluated

Assignments- 20%• Various exercises in learning/applying a technique• Assignment 1: Proximity toolkit hello world• Assignment 2: Teaching others various toolkits

o AR Toolkit, Phidgets, OpenCV, etc.

Written / oral presentations – 20%• on-going: paper presentation, discussion & blog entries• your topic: propose (1/2 page) & present selected topic(s)

Project - 60%• major project defined by you• ideally fits with your research interests• can be field research, technology, or a mix• milestones, demonstration / presentation / paper

Page 19: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,

How you will be evaluated

Project - 60%• propose and carry through a major project in this area• Usually concerns applied technology development

o realistic and of valueo personally relevanto innovativeo publishable

Deliverables• initial proposal • detailed proposal• periodic reporting / demonstrations of milestones • end of term:

o conference-style presentationo paper (8-10 pages, ACM style)o archive

Page 20: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,
Page 21: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,

You are a Researcher, not a Hacker

Learner• to learn, to know, to understand, to apply

Professional• speaking, writing, presentations

Contributor• participate in all ways, in depth

Critique• question and challenge

Computer Scientist• process, coding, competent

Social Scientist• query, observe, analyze, understand

Designer• Implications, insight and application

Page 22: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,

For Next Week

Readings • as assigned

The blog• Sign up to the blog• Write a short summary of your thoughts about each paper• Take, post and describe a digital photo showing:

o an existing (non-technical) example of proxemic interactiono an idea of a proxemic-aware system (be creative!)

Page 23: CPSC 701.81 Ubiquitous Computing Topic: Proxemic Interactions #include #define PORT 12997 /* The port number of the server */ main() { intmain_sock, new_sock,

For Next Week

Presentation• presentation topic suggestions

Project• proposal suggestions