ubiquitous computing definitions ubiquitous computing is the method of enhancing computer use by...

29
Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical environment, but making them effectively invisible to the user Mark Weiser Ubiquitous computing, or calm technology, is a paradigm shift where technology becomes virtually invisible in our lives. -- Marcia Riley (Georgia Institute of Technology, Atlanta.) DEFINITION EVOLUTION GENERIC FEATURES PROJECTS S. E. ISSUES CONCLUSION

Upload: dulcie-nichols

Post on 15-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingDefinitionsUbiquitous computing is the method of enhancing computer use by making many computers

availablethroughout the physical environment, but making

themeffectively invisible to the user

– Mark Weiser

Ubiquitous computing, or calm technology, is a paradigm shift where technology becomes

virtually invisible in our lives.

-- Marcia Riley (Georgia Institute of Technology, Atlanta.)

DEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 2: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingEvolutionConstraint: - best way to serve the user community is not

clear.

Approach: - Prototype the solution - Acquire feedback from users. - Modify the application

(with least possible downtime)

DEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 3: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingGeneric FeaturesDEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Transparent Interfaces

Awareness ofContext(s)

Capture Experience

Page 4: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingGeneric Features – TRANSPARENT

INTERFACES- hide their presence from user- Provide interaction between user

and application

Examples: Gesture recognition speech recognition free form pen interaction computational perception etc.

DEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 5: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingGeneric Features –

TRANSPARENT INTERFACES

Keyboard and mouse are still the most commonly used interfaces !!

Need:- flexible interfaces- Varied interfaces that can provide

similar functionality

DEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 6: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingGeneric Features – CONTEXT

AWARENESSContext – information about the

environment with which the

application is associated.

LOCATION and TIME are simple examples

of context !

DEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 7: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingGeneric Features – CONTEXT

AWARENESS

Context aware application:- is one which can capture the context- assign meaning to it- change behavior accordingly

Need:Applications that are context aware andallow rapid personalization of their

services.

DEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 8: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingGeneric Features – AUTOMATED

CAPTURE

To capture our day-to-day experience and

make it available for future use.

Constraints:- Multiple streams of information- Their time synchronization- Their correlation and integration

Need:Automated tools that support capture,integration and future access of info.

DEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 9: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingClassroom 2000 (eClass)

Motivation:Information-intensive experience in

class makes it difficult for students to recordaccurately.

Objective:Preserving class activities in order to enhance teaching and learning

experience.

DEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 10: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingClassroom 2000 (eClass)

- can take notes on behalf of the students

- can time-line various information streams

- provides annotations on slides to index an audio/video recording

DEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 11: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingDEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 12: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingDEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 13: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingDEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 14: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingDEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 15: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingClassroom 2000 (eClass)

Transparent Interaction- electronic white-board looks and

feels like a white-board and not a computer

- however, startup process requires a person to start a program(Still not absolutely transparent)

DEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 16: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingClassroom 2000 (eClass)

Context awareness- ‘location of white-board’+ ‘class

schedule’- predicts which class is about to begin

Automated capture- captures various information

streams- Adds annotations, web links,

references etc.

DEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 17: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingCyberguide

- can replicate human tour guide using mobile and hand held technology

- makes use of location information to track the user / suggest establishments

- maintains history of places visited, for future use

DEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 18: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingDEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 19: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingCyberguide

Transparent Interaction- has prototypes with varied

interfaces- Speech recognition capability

(limited!)

Context awareness- ‘location’ as the context

DEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 20: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingCyberguide

Automated capture- acquires knowledge from places

visited(to server future visitors)

DEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 21: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingS.E. Challenges

Challenges presented by the three features

DEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

TOOLKITDESIGNISSUES SOFTWARE

STRUCTURINGISSUES

COMPONENTINTEGRATION

Page 22: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingToolkit design issues

- be able to treat all types of I/P as easily as keyboard or mouse(e.g.: freeform pen based interaction)

- need for clustering techniques that can associate various forms of data

- Context aware applications need TILE interface(Time, Identity, Location, Entities)

DEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 23: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingToolkit design issuesOpen challenges

‘Scalable Interfaces’- variety of devices with different size

and interaction techniques

Rewriting of Applications !!

Abstract Interface toolkits(another open area of research)

DEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 24: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingSoftware structuring issuesDEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Frequent Iterations

Rapid Prototyping

Minimal Downtime

UbiComp application development

Page 25: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingSoftware structuring issues

IF (modifications to the system are not done correctly)

THEN (downtime of the system may increase drastically)

Hence, structuring is imperative for such an approach of UbiComp

application development !!

DEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 26: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingComponent Integration- not all portions of every application

are developed- many times we rely on COTS

software

Constraint: - COTS software are not available for

various types of devices / OS

Need:Standard methods to communicate and control wide array of devices and OS.

DEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 27: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingConclusion

Strengths• The paper identifies certain key

features of Ubiquitous applications• Exemplifies these features with real-

life projects• Correlates SE challenges pertaining

to such pattern of application development

• Accordingly, it proposes changes that need to be inculcated in the stream of Software Engineering

DEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 28: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous ComputingConclusion

Weakness- The paper only looks into ‘Rapid

Prototyping’ paradigm of application development

- It overlooks other models and approaches available for UbiComp application development.(probable challenges therein have not be catered for)

DEFINITION

EVOLUTION

GENERIC FEATURES

PROJECTS

S. E. ISSUES

CONCLUSION

Page 29: Ubiquitous Computing Definitions Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical

Ubiquitous Computing

Q U E S T I O N S ???