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
Ubiquitous Computing Evolution Constraint: - 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
Ubiquitous Computing Generic Features DEFINITION EVOLUTION GENERIC FEATURES PROJECTS S. E. ISSUES CONCLUSION Transparent Interfaces Awareness of Context(s) Capture Experience
Ubiquitous Computing Generic 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
Ubiquitous Computing Generic 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
Ubiquitous Computing Generic Features – CONTEXT AWARENESS Context – 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
Ubiquitous Computing Generic 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 and allow rapid personalization of their services. DEFINITION EVOLUTION GENERIC FEATURES PROJECTS S. E. ISSUES CONCLUSION
Ubiquitous Computing Generic 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
Ubiquitous Computing Classroom 2000 (eClass) Motivation: Information-intensive experience in class makes it difficult for students to record accurately. Objective: Preserving class activities in order to enhance teaching and learning experience. DEFINITION EVOLUTION GENERIC FEATURES PROJECTS S. E. ISSUES CONCLUSION
Ubiquitous Computing Classroom 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
Ubiquitous Computing DEFINITION EVOLUTION GENERIC FEATURES PROJECTS S. E. ISSUES CONCLUSION
Ubiquitous Computing DEFINITION EVOLUTION GENERIC FEATURES PROJECTS S. E. ISSUES CONCLUSION
Ubiquitous Computing DEFINITION EVOLUTION GENERIC FEATURES PROJECTS S. E. ISSUES CONCLUSION
Ubiquitous Computing DEFINITION EVOLUTION GENERIC FEATURES PROJECTS S. E. ISSUES CONCLUSION
Ubiquitous Computing Classroom 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
Ubiquitous Computing Classroom 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
Ubiquitous Computing Cyberguide - 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
Ubiquitous Computing DEFINITION EVOLUTION GENERIC FEATURES PROJECTS S. E. ISSUES CONCLUSION
Ubiquitous Computing Cyberguide 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
Ubiquitous Computing Cyberguide Automated capture - acquires knowledge from places visited (to server future visitors) DEFINITION EVOLUTION GENERIC FEATURES PROJECTS S. E. ISSUES CONCLUSION
Ubiquitous Computing S.E. Challenges Challenges presented by the three features DEFINITION EVOLUTION GENERIC FEATURES PROJECTS S. E. ISSUES CONCLUSION TOOLKIT DESIGN ISSUES SOFTWARE STRUCTURING ISSUES COMPONENT INTEGRATION
Ubiquitous Computing Toolkit 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
Ubiquitous Computing Toolkit design issues Open 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
Ubiquitous Computing Software structuring issues DEFINITION EVOLUTION GENERIC FEATURES PROJECTS S. E. ISSUES CONCLUSION Frequent Iterations Rapid Prototyping Minimal Downtime UbiComp application development
Ubiquitous Computing Software 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
Ubiquitous Computing Component 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
Ubiquitous Computing Conclusion 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
Ubiquitous Computing Conclusion 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
Ubiquitous Computing Q U E S T I O N S ???