Application Development for Mobile and Ubiquitous Computing

19
Department of Computer Science Institute for System Architecture, Chair for Computer Networks Dr. Ing. Thomas Springer Technische Universität Dresden Chair of Computer Networks Application Development for Mobile and Ubiquitous Computing Seminar Introduction

Transcript of Application Development for Mobile and Ubiquitous Computing

Page 1: Application Development for Mobile and Ubiquitous Computing

Department of Computer Science Institute for System Architecture, Chair for Computer Networks

Dr. Ing. Thomas SpringerTechnische Universität Dresden

Chair of Computer Networks

Application Development forMobile and Ubiquitous Computing

Seminar Introduction

Page 2: Application Development for Mobile and Ubiquitous Computing

Slide 2Dr. Thomas Springer

Basic Idea

§ To implement your (first) app§ To familiarize with one of the popular implementation

platforms for Mobile and Ubiquitious Computing§ Design specific mechanisms to adapt your App

according to some relevant context§ It will help you to understand basic idea of this course§ These concepts are one of the basic parts of the exam

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 3: Application Development for Mobile and Ubiquitous Computing

Slide 3Dr. Thomas Springer

Organization

§ You should work in groups of 2 students!!!

§ You have to define your own app idea• Define an application scenario from the domain of mobile and

ubiquitous computing• Select a mobile device platform for implementation• Develop a concept for adapting your App

§ Three presentations• First presentation: App Idea and Basic Concept• Second presentation: Adaptation concept• Final presentation: Final App

§ Colloquium• Groups present their running app and project on individual

appointment

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 4: Application Development for Mobile and Ubiquitous Computing

Slide 4Dr. Thomas Springer

First Presentation

§ Please prepare a presentation for max. 8 minutes!!!!

§ First presentation should include• present the application scenario in detail• show use cases, e.g. a mockup!!!• identify in detail the challenges of mobile computing you

want to tackle• Present an idea of two specific adaptations of your app• define the technologies you intent to use• propose an architecture• work plan

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 5: Application Development for Mobile and Ubiquitous Computing

Slide 5Dr. Thomas Springer

Presentation of Adaptation concepts

§ Please prepare a presentation for max 8 minutes!!!!

§ Adaptation concept presentation should include:• A set of specific context features you capture to

control your adaptation• The description of at least 2 spcific adaptation

mechanisms for your App• The method to map your considered context features

to parameters for controlling your adaptationmechanisms

• The detailed architecture of your App• The technologies for implementing all conponents of

your App

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 6: Application Development for Mobile and Ubiquitous Computing

Slide 6Dr. Thomas Springer

Final Presentation

§ Please prepare a presentation for 8 minutes!!!!

§ Final presentation should include• Present the application scenario with use cases,

screenshots, a video or the running application• Describe the final architecture, components and

interaction between components• Describe the technologies adopted for each component• Discuss in detail the challenges of mobile computing you

have tackledo What adaptation mechanisms have been usedo What context information has been involved

• Discuss open issues and lessons learned

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 7: Application Development for Mobile and Ubiquitous Computing

Slide 7Dr. Thomas Springer

Submission and Finalization

§ Submission is by sending the slides by email to• [email protected]• Name document groupXX.pdf• Mail subject: [ADMUC18]

§ Project state and results are shown on lecture web page• please refer to „Seminar task list“

§ A colloquium will be held based on individual appointments with each team at the end of the term which includes:• presenting the running application• explaining the project• discussing adaptation mechanisms, used context and further

lecture content considered during the development of the App

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 8: Application Development for Mobile and Ubiquitous Computing

Slide 8Dr. Thomas Springer

Schedule

§ First presentation: App Idea and Basic Concept• You should present your task description and technology selection• Slide submission: 01.11.2018• Presentation date: 02.11.2018.

§ Second presentation: Adaptation concept• You should present at least two concrete mechanisms to adapt your

App and how they are controlled by particular context information• Slide submission: 07.12.2018• Presentation date: 14.12.2018

§ Final presentation: Final App• You should present your adaptation concept and final results• Slide submission: 31.01.2019• Presentation date: 01.02.2019

§ Colloquium• End January, Begin February (dates will be announced)

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 9: Application Development for Mobile and Ubiquitous Computing

Slide 9Dr. Thomas Springer

HOW TO DEFINE YOUR SEMINAR TASK?

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 10: Application Development for Mobile and Ubiquitous Computing

Slide 10Dr. Thomas Springer

Think your own task

§ Select an application scenario relevant for Mobile and Ubiquitous Computing

§ Scenario should tackle at least one of the challenges mentioned in the first lecture

§ Scenario should include specific mechanisms for context awareness and adaptation

§ Could be a stand-alone App on a mobile device or a distributed application with server component

§ Implementation should be based on a mobile device platform • Android• iOS• Cross-Platform tool

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 11: Application Development for Mobile and Ubiquitous Computing

Slide 11Dr. Thomas Springer

EXAMPLESocial Fitness App

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 12: Application Development for Mobile and Ubiquitous Computing

Slide 12Dr. Thomas Springer

App Idea

§ Social Fitness App• Wristband/Smart Watch + Smartphone/Tablet App

§ Track all your fitness activities with minimal user input• Recording of activity states and content (images, videos,

track record, curve with pulse, etc.)• Activity Timeline - Posting own activities and see others‘

activities in an integrated timeline with text, images, videos, etc.

• Management of training schedule and planning oftraining activities

• Managing competitions with ranking

Page 13: Application Development for Mobile and Ubiquitous Computing

Slide 13Dr. Thomas Springer

Mockups

Running Competition June 27, 2016

5.7 km: 26:39Beate„cooler Lauf bei herrlichem Wetter“

Cycling June 26, 2016

27.3 km: 26:39You„Erste Etappe war eine einzige Quälerei, beim nächsten Mal geht’s bestimmt besser“ ...mehr

Training schedule June 28, 2016

Second Stage - CyclingYouWarning: Bad conditionsexpected !!!

CyclingJune 26, 2016

27.3 km: 26:39„Erste Etappe war eine einzige Quälerei, beim nächsten Mal geht’s bestimmt besser“

Page 14: Application Development for Mobile and Ubiquitous Computing

Slide 14Dr. Thomas Springer

Challenges

§ Connectivity• Low data rate and high delay in cellular networks• Intermittent connectivity due to weak connections and network

changes

§ Offline Phases• Limited coverage, unavailability of servers• To save energy, flat rate contingent, or communication cost

§ Form Factor• Limited Resources (CPU, memory, display size) • Diversity of device classes (Smart Watches, Smartphones,

Tablets) and device platforms (iOS, Android, Windows Mobile)

Page 15: Application Development for Mobile and Ubiquitous Computing

Slide 15Dr. Thomas Springer

Adaptation mechanisms

§ Automatic detection and tracking of sports activities• Accelerometer based activity tracking• E.g. GPS is activated only if running or cycling activity to save

energy• Higher sensing frequency is applied when walking or running is

detected§ Sharing (upload and download) of activities to social

network• Queueing for upload and download• Filtering (cycling related activities only), lossy conversion and

lazy evaluation for data download• Prefetching and Caching of data (e.g. proactive download of

activity content)

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 16: Application Development for Mobile and Ubiquitous Computing

Slide 16Dr. Thomas Springer

Architecture and Technologies

§ Android§ Node.js REST Service on Server§ Mongo DB

Server

User and Team data(workout, challenges, etc.)

Cycling

June 26, 2016

27.3 km: 26:39„Erste Etappe war eine einzige Quälerei, beim nächsten Mal geht’s bestimmt besser“

Page 17: Application Development for Mobile and Ubiquitous Computing

Slide 17Dr. Thomas Springer

Example Work plan

§ 21.10.2013: Begin of iOS / Objective-C tutorial (weekly until 03.02.2014)

§ 24.10.2013: Begin of implementation§ 01.11.2013: First presentation

§ 21.11.2013: First prototype§ 20.12.2013: Second presentation

§ 20.12.2013: Begin of testing on real devices, bugfixing on iPhone 4S / 5

§ 31.01.2014: Final presentation§ 31.01.2014: Launch in the App Store

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

• think about teamorganisation

• assign responsibilities in team

• make yourself familarwith platform anddevelopment tools

• think about context andadaptation

• start early withimplementation

• develop agile -> featureplanning and peridicreleases of running code

• plan time for testing andbugfixing

• deploy and test with real devices

Page 18: Application Development for Mobile and Ubiquitous Computing

Slide 18Dr. Thomas Springer

Further Examples

§ MusIQ• Simple music player with

basic functionality• Application fetches additional

information (video, biography, discography, nearby events) according to currently playing song and user location

§ CarSurfing• Supports matching between

hitch hikers and car drivers• uses direction and GPS

information• visualization on Google Maps• integration of Facebook to

increase security

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 19: Application Development for Mobile and Ubiquitous Computing

Slide 19Dr. Thomas Springer

Further Examples

§ Lunchbox• ultimate mensa guide

providing information about the meals at the refectories including students ratings

• data provided at server, scraped from Studentenwerk page

§ MusicMap• find the places where your

favourit music is played• integrates LastFM• uses location and genre to

cluster users• visualization on Google

Maps

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction