ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide...

22
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 ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide...

Page 1: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

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: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

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 concrete 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: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

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 andubiquitous computing

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

§ First presentation:• You should present your task description and technology

selection (03.11.2017).§ Adaptation concept presentation

• You should present at least two concrete mechanisms to adaptyour App and how they are controlled by particular contextinformation (15.12.2017)

• Deadline for slide submission is 08.12.2016§ Final presentation

• You should present your adaptation concept and final results(26.01.2018)

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 4: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

Slide 4Dr. Thomas Springer

First Presentation

§ Please prepare a presentation for 10 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• define the technologies you intent to use• propose an architecture• work plan

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 5: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

Slide 5Dr. Thomas Springer

Presentation of Adaptation concepts

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

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

control your adaptation• The description of at least 2 concrete 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: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

Slide 6Dr. Thomas Springer

Final Presentation

§ Please prepare a presentation for 10 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: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

Slide 7Dr. Thomas Springer

Submission and Finalization

§ Submit your presentations no later than• First presentation – 02.11.2017• Adaptation concept presentation - 08.12.2017• Final presentation – 25.01.2018

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

§ 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: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

Slide 8Dr. Thomas Springer

Summary

§ You can use the whole term to fulfill the tasks§ Projects are compulsary for all students§ Don`t miss deadlines for slide submission

§ Auditorium for discussions

§ Email to send presentations and solution is: • [email protected]§ Mail subject: [ADMUC17]

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

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 9: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

Slide 9Dr. Thomas Springer

HOW TO DEFINE YOUR SEMINAR TASK?

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 10: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

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 concrete 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: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

Slide 11Dr. Thomas Springer

EXAMPLEFahrtfinder, a carpooling App

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 12: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

Slide 12Dr. Thomas Springer

App idea

§ On March 27th, carpooling.com GmbH (who runs amongstothers market leader mitfahrgelegenheit.de) introduced11 % fee

§ in response, many free websites gained market share§ problems: many websites ⇒ user has to search each site§ solution: meta search engine for carpooling web sites

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 13: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

Slide 13Dr. Thomas Springer

Mockups

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 14: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

Slide 14Dr. Thomas Springer

Use Cases

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 15: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

Slide 15Dr. Thomas Springer

Challenges

§ Connectivity Challenge• Reduce the amount of data to be transferred via the

wireless link (use server component for search, processing and aggregation of lift data to reduce networktraffic over wireless link)

§ Context: • Detect type and speed of network

§ Adaptation:• Introduce proxy on server side for data fetching and

preprocessing• Reduce quality and size of images• Lazy evaluation on client side (text first, images later)

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 16: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

Slide 16Dr. Thomas Springer

Challenges

§ Offline Challenge• Provide some functionality when offline (e.g.

bookmarked lifts, last queries, booked lifts in calendar§ Context:

• Detect if your App is online or offline§ Adaptation:

• Caching of Data• Use cached data if application is offline, Update cache if

connectivity is good• Persistently store information from cache

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 17: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

Slide 17Dr. Thomas Springer

Challenges

§ Usability Challenge• Present lift information properly on iPhone and iPad

display (iPhone 3,5 inch and iPhone 4 inch screen) andiPad screens

• Minimize effort for user input§ Context:

• Detect screen size and device type• Detect user location with GPS

§ Adaptation:• Adapt layout for iPhone and iPad• Auto fill „Start field“ by using GPS location• Cache search queries

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 18: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

Slide 18Dr. Thomas Springer

Technologies

§ Client:• iOS on iPhone• (some additional HTML parsing on external websites)• we will keep to fahrtfinder’s corporate design and style

guide• GPS for location tracking• SWRevealViewController library for navigation

§ Server:• provided by fahrtfinder.net, they offer a JSON API

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 19: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

Slide 19Dr. Thomas Springer

Architecture

Application Development for Mobile and Ubiquitous Computing - Seminar Introduction

Page 20: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

Slide 20Dr. Thomas Springer

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 21: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

Slide 21Dr. 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 22: ApplicationDevelopment for Mobile andUbiquitousComputing Seminar ... · Dr. Thomas Springer Slide 10 Think your own task § select an application scenario relevant for Mobile and

Slide 22Dr. 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