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/2015/MADP/fall/
2/14/2014 Satish Srirama 2/26
Questions
• Have you ever programmed for mobile devices?– This course assumes you have experience with at least one mobile technology
– Or you are taking or have taken MTAT.03.262Mobile 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?
2/14/2014 Satish Srirama 3/26
Related Courses
• MTAT.03.262Mobile Application Development (3 ECTS)– Fri. 14.15 – 18.00, J Liivi 2 ‐ 122
• MTAT.03.280Mobile and Cloud Computing Seminar (3 ECTS)– Wed. 08.15 ‐ 10.00, J. Liivi 2‐ 512
• MTAT.08.036 Large‐scale Data Processing on the Cloud (3 ECTS) – Wed. 10.15 – 12.00, J. Liivi 2 ‐ 512
• MTAT.08.027 Basics of Cloud Computing (3 ECTS) – Spring 2016
2/14/2014 Satish Srirama 4/26
Grading
• No written exam • Just deliver a project
–Max 4 persons per group
• Activities– Design the application– Develop using the platform of your choice; Android is preferred
– Deliver the project with detailed reports
2/14/2014 Satish Srirama 5/26
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
2/14/2014 Satish Srirama 6/26
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 (10%)– Managed Source (10%)
• Bonus – People’s Choice (5%)
9/8/2015 Satish Srirama 7/16
Outline
• Mobile Application Development• Introduction to the projects• General discussion and forming groups
2/14/2014 Satish Srirama 8/26
MOBILE APPLICATION DEVELOPMENT
Lecture 1
2/14/2014 Satish Srirama 9
2/14/2014
[Tomi T Ahonen]
Satish Srirama 10
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
2/14/2014 Satish Srirama 11/26
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
2/14/2014 Satish Srirama 12/26
Variety of languages and platforms to choose from
2/14/2014http://en.wikipedia.org/wiki/Mobile_application_developmenthttp://en.wikipedia.org/wiki/Mobile_operating_systemSatish Srirama 13/26
Popular platforms – Market share
9/8/2015
http://en.wikipedia.org/wiki/Mobile_operating_system
Satish Srirama 14/16
The devices we use
2/14/2014
http://mc.cs.ut.ee
Satish Srirama 15/26
GENERAL TOPICS OF INTEREST
2/14/2014 Satish Srirama 16
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
2/14/2014{srirama, chang, liyanage}@ut.ee,
Satish Srirama 17/26
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 – To enrich the functionality of mobile applications
2/14/2014 Satish Srirama 18/26
Mobile Cloud Access Schemes
Delegation Code Offloading
MCM
{srirama, chang}@ut.ee2/14/2014
[Flores & Srirama, JSS 2014]
Satish Srirama 19/26
Code offloading
• Decision making–When is it ideal to offload a task from mobile to cloud?
– Fuzzy logic– Linear Programming
• We also think the decision making should be a continuous learning process–Machine learning
{srirama}@ut.ee
2/14/2014 Satish Srirama 20/26
Internet of Things
• Internet of Things (IoT) represents a cyber‐physical world that interconnects physical things to the Internet. Ideally, IoT “allows people and things to be connected Anytime, Anyplace, with Anything and Anyone, ideally using Any path/network and Any service” —(Vermesan et al.)
• Cisco System predicts that in the year 2020, 50 billion things will be connected to the Internet. (Bradley et al. 2013)
• Gartner predicts IoT will bring a total economic value‐add of $1.9 trillion by 20201
1 https://kemptechnologies.com/white‐papers/designing‐application‐centric‐network‐19‐trillion‐internet‐things‐economy/
Research Roadmap
Energy‐Efficient and Cost‐Efficient Connected Things
Reliable Adaptive Middleware
Big Data Acquisition & Analytics
Domain SpecificService
Provisioning
• Healthcare; • Environmental Monitoring;• Real‐time Sensing; etc.
• Elastic Cloud Processing;• MapReduce
• Service‐Oriented Computing;
• Process Management;
• Mobile Computing;• Wireless Sensor &
Actuator Network
Federated Grid System Architecture for IoT
THINGS
THINGS
Grid Computing Grid ComputingDatabase Servers Database Servers
Mediators Mediators
Proxy Proxy
ESB ESB
Research Challenges
Atomic Service
Composite Service
Intermediate Node
Embedded Service
Edge Node
Large Scale Federated Service Discovery
Autonomous —• Proximal Service
Discovery;• Opportunistic
Network;• Device‐to‐Device;• Machine‐to‐Machine;
Discovery Things
Adaptability Compensability / SLA
Interoperability Self‐organized / Self‐governable
Scalability Reliability / QoS
Connectivity Energy‐efficiency / Cost‐efficiency
Discoverability Self‐manageability / Self‐configuration
Mobility / Accessibility
Self‐healing / Fault tolerant
Management
Back‐end
( Clou
d )
Fron
t‐en
d
{srirama, chang}@ut.ee
Course Schedule
• Today we introduce you the projects• Lecture 2 (15.09)
– Second meeting to finalize the topics• Lecture 3 (22.09)
– Deadline for choosing a project– 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
2/14/2014 Satish Srirama 26/26
Project selection
• Projects are available at https://courses.cs.ut.ee/2015/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)
2/14/2014 Satish Srirama 27/26