mobile application development project...questions • have you ever programmed for mobile devices?...

31
Mobile Application Development Project MTAT.03.266 Fall 2018 Satish Srirama [email protected]

Upload: others

Post on 14-Mar-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Mobile Application Development Project

MTAT.03.266

Fall 2018

Satish [email protected]

Page 2: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Course Purpose

• Practice the mobile application development

• Apply well-known techniques to develop applications for the mobile devices

• Glance of research at Mobile & Cloud Lab

• https://courses.cs.ut.ee/2018/MADP/fall

13/09/2018 Satish Srirama 2/26

Page 3: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Questions

• Have you ever programmed for mobile devices?– This course assumes you have experience with at least

one mobile technology– Or you have taken MTAT.03.262 Mobile Application

Development course

• Which mobile platforms have you used already?• How comfortable you are with programming?

– Java ? • External APIs?

– Web programming?

• Have you heard of cloud computing?

13/09/2018 Satish Srirama 3/26

Page 4: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Related Courses

• MTAT.03.262 Mobile Application Development (3 ECTS)– Fri. 14.15 - 18.00, J. Liivi 2-122

• MTAT.03.280 Mobile and Cloud Computing Seminar (3 ECTS)– Wed. 16.15 - 18.00, Ülikooli 17 - 218

• MTAT.08.036 Distributed Data Processing on the Cloud (6 ECTS) – Fri. 12.15 - 14.00 - J. Liivi 2-122

• MTAT.08.027 Basics of Cloud Computing (3 ECTS) – Spring 2019

13/09/2018 Satish Srirama 4/26

Page 5: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Grading

• No written exam

• Just deliver a project

– Max 3 persons per group

• Activities

– Design the application

– Develop using the platform of your choice; Android is preferred

– Deliver the project with detailed reports

13/09/2018 Satish Srirama 5/26

Page 6: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

To pass

• One must attend 80% of the sessions

• Submission of project report

• Final presentation and demonstration

• Max 5 min Video which will be uploaded to youtube

• Source code properly managed

13/09/2018 Satish Srirama 6/26

Page 7: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Grading - progress

• Prototype 1 (20%)– Presentation (5%)– Progress (10%)– Punctuality (5%)

• Prototype 2 (20%)– Split same as Prototype 1

• Final Presentation (60%)– Presentation (10%)– Demo (20%)– Report (10%)– Video/Poster (10%)– Managed Source (10%)

• Bonus – People’s Choice (5%)– If more than 6 groups

13/09/2018 Satish Srirama 7/16

Page 8: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Outline

• Mobile Application Development

• Introduction to the projects

• General discussion and forming groups

13/09/2018 Satish Srirama 8/26

Page 9: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

MOBILE APPLICATION

DEVELOPMENT

Lecture 1

13/09/2018 Satish Srirama 9

Page 10: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

[Tomi T Ahonen]

1013/09/2018 Satish Srirama

Page 11: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Popular consumer mobile applications

• Location-based services (LBSs)– Deliver services to users based on his location

• Mobile social networking– Most popular social networking platforms have

apps for mobiles

• Mobile commerce– An extension of e-commerce

• Mobile payment– Near field communication (NFC) payment

13/09/2018 Satish Srirama 11/26

Page 12: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Popular consumer mobile applications - continued

• Context-aware services– Context means person's interests, history,

environment, connections, preferences etc.

– Proactively serve up the most appropriate content, product or service

• Mobile instant messaging (MIM)– Skype for mobiles

• Mobile e-mail

• Mobile video

13/09/2018 Satish Srirama 12/26

Page 13: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Variety of languages and platforms to choose from

13/09/2018http://en.wikipedia.org/wiki/Mobile_application_developmenthttp://en.wikipedia.org/wiki/Mobile_operating_system

Satish Srirama 13/26

Page 14: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Popular platforms – Market share

13/09/2018

http://en.wikipedia.org/wiki/Mobile_operating_system

Satish Srirama 14/16

Page 15: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

The devices we use

13/09/2018

http://mc.cs.ut.ee

Satish Srirama 15/16

Page 16: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

GENERAL TOPICS OF INTEREST

13/09/2018 Satish Srirama 16

Page 17: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Mobile Web Services

• Provisioning of services from the smart phones

• Invocation of web services from smart phones

• Mobile web service discovery

• Addressing mobiles in 3G/4G networks

• Push notification mechanisms

• Mobile positioning

– Indoor and Outdoor

13/09/2018

{srirama, chang}@ut.ee, Satish Srirama 17/38

Page 18: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Mobile Cloud Computing

• One can do interesting things on mobiles directly– Today’s mobiles are far more capable

– We can even provide services from smart phones

• However, some applications need to offload certain activities to servers– Processing sensor data

• Resource-intensive processing on the cloud [Flores & Srirama, JSS 2014; Flores et al, IEEE Communications 2015]

– To enrich the functionality of mobile applications

– Task delegation and code offloading

13/09/2018 Satish Srirama 18/38

Page 19: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Internet of Things (IoT)

• “The Internet of Things allows people and

things to be connected Anytime, Anyplace,

with Anything and Anyone, ideally using Any

path/network and Any service.” [European

Research Cluster on IoT]

• More connected devices than people

• Cisco believes the market size will be $19 trillion by 2025

13/09/2018 Satish Srirama 19

{srirama, chang, liyanage}@ut.ee

Page 20: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

IoT - Scenarios

• Environment Protection

• Smart Home

• Smart Healthcare

• Smart Agriculture

[Kip Compton][Perera et al, TETT 2014]

13/09/2018 Satish Srirama 20[http://www.libelium.com/improving-banana-crops-production-and-agricultural-sustainability-in-colombia-using-sensor-networks/ ]

Page 21: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Internet of Things – Challenges

Sensors Tags Mobile Things

Appliances & Facilities

How to interactwith ‘things’

directly?

How to provide energy efficient

services?

How do we communicate automatically?

[Chang et al, ICWS 2015]

[Chang et al, SCC 2015; Liyanage et al, MS 2015]

13/09/2018 Satish Srirama 21

Page 22: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Cloud-based IoT

Sensing and smart devices

Connectivity nodes &Embedded processing

Remote Cloud-based processing

Proxy Storage

Processing

13/09/2018 Satish Srirama 22

Page 23: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Research focus in IoT

• We have established IoT and Smart Solutions Lab with Telia company support

• Interesting topics– Discovery of IoT devices

– Working with IoT based devices

– Study of available IoT platforms• Amazon IoT

• Open IoT

• IoT-based smart cities

13/09/2018 Satish Srirama

{srirama, chang, jaks}@ut.ee

23/38

Page 24: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

IoT Data Processing on Cloud

• Enormous amounts of unstructured data– In Zetabytes (1021 bytes) by 2020 [TelecomEngine]

– Has to be properly stored, analysed and interpreted and presented

• Big data acquisition and analytics– Is MapReduce sufficient?

• MapReduce is not good for iterative algorithms [Srirama et al, FGCS 2012]

– IoT mostly deals with streaming data• Message queues such as Apache Kafka can be used to buffer and feed

the data into stream processing systems such as Apache Storm• Apache Spark streaming

• Edge analytics

13/09/2018 Satish Srirama

{srirama, jakovits, alo.peets}@ut.ee

24/38

Page 25: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Issues with Cloud-centric IoT

• Latency issues for applications with sub-second response requirements

• Certain scenarios do not let the data move to cloud• Fog computing [Chang et al, AINA 2017; Mass et al, SCC 2016]

– Processing across all the layers, including network switches/routers

• Mist computing – Processing at the edge devices– Dynamic provisioning of a platform for process execution

[Liyanage et al, PDCAT 2016]

• E.g. Android-ported Activiti BPM engine (http://activiti.org)

• Edge process management

13/09/2018 25Satish Srirama

Page 26: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Ongoing Research in Fog Computing

• Mobility, task migration, discovery, scalability and containerisation

• QoE-aware application placement across Fog topology [Mahmud et al, JPDC 2018]

• Indie Fog [Chang et al, IEEE Computer 2017]

– System architecture for enabling Fog computing with customer premise equipment

13/09/2018 26Satish Srirama

[Soo et al, IJMCMC 2017]

QoE – Quality of Experience {srirama, chang, jaks}@ut.ee

Page 27: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Research Roadmap – IoT & Fog Computing

13/09/2018 Satish Srirama 27

Cloud

Core Network

Gateways

End points

Edge Nodes

Distributed data processing on the CloudE.g. MapReduce, Spark

Distributed data processing across the Cloud and Fog layersE.g. Personalized data, privacy etc.

Fog topology management and scheduling the tasksE.g. tasks run across the fog topology such as stream data processing, smart streetlights etc.

Edge analyticsE.g. filter, error detection, consolidation etc.

Intelligent sensorsE.g. vehicular networks

Fog

{srirama, chang, jaks, alo.peets}@ut.ee

Page 28: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

WE ALWAYS WELCOME NEW IDEAS!

email: [email protected]

?

13/09/2018

?

Satish Srirama 28

Page 29: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Course Schedule

• Today we introduce you the projects

– Choose your project by 17th Sep 2018

• Lecture 2 (20.09)

– Presentation by students about their topics

– Deliver a preliminary report of the project

• Meaningful report explaining (architecture, design, similar solutions etc.)

• Remaining schedule will be notified later

13/09/2018 Satish Srirama 29/26

Page 30: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

Project selection

• Projects are available at

https://courses.cs.ut.ee/2018/MADP/fall/Main/Projects

• Responsible persons

– Satish Srirama (srirama AT ut DOT ee)

– Chii Chang (chang AT ut DOT ee)

– Mohan Liyanage (liyanage AT ut DOT ee)

13/09/2018 Satish Srirama 30/26

Page 31: Mobile Application Development Project...Questions • Have you ever programmed for mobile devices? – This course assumes you have experience with at least one mobile technology

THANK YOU

[email protected]

13/09/2018 Satish Srirama 31