You are on page 1of 22

Design

and Implementa/on of Mobile Applica/ons


Luciano Baresi baresi@elet.polimi.it

Luciano Baresi
Associate professor @ DEI Previously
Researcher at Cefriel Visi/ng researcher
University of Oregon (USA) University of Paderborn (Germany)

Research interests

SoJware engineering

Dynamic soJware architectures Service-oriented applica/ons Analysis and valida/on Graph transforma/on

home.dei.polimi.it/baresi

The course
It is taught in English No text book
Several could be interes/ng Online material beRer than any book Slides available through my web page

When/Who
Thursday: 8:30-10 Friday: 13:30-15 Teaching assistants
Sam Guinea Giordano Tamburrelli External guests (from industry)

What is the size of the mobile market?

hRp://tag.microsoJ.com/community/blog/t/ the_growth_of_mobile_marke/ng_and_tagging.aspx

Mobile vs. desktop Internet users

What do people use their mobile phones for?

Source: wikipedia

Source: wikipedia

Source Gartner 2010

Quarterly mobile applica/ons downloads market share

ABI Research

What is this about?

This is not just soJware


Dierent screens (from small large ones) Dierent OSs and dierent versions Scarce resources (memory, disk, baRery) Unreliable and mutable connec/vity (GSM, WiFi) Data transfer: costly, slow, high latency Priori/es (what if a phone call comes in?) Inter-app communica/on Development model (cross compila/on) Distribu/on model (store)

Complex devices
Accelerometer Gyroscope Digital compass Global Posi/oning System (GPS) Barometer Ambient light Proximity Sensor

Mobile Applica/ons
SoJware that can be pushed to a mobile device or downloaded and installed locally to serve some needs
Browser-based applica/ons are developed in a markup language Na/ve applica/ons are compiled solu/ons (device has a run/me environment) Hybrid applica/ons exploit the best of both worlds (a browser is needed for discovery)

Mobile app design


A mobile app should do one thing and do it well A mobile app should be as simple as possible, but no simpler Further constraints
Standards compliance Usability design Minimalist design Dierent versions (families of applica/ons)

Many dierent languages


Objec/ve-C (iPhone only) C/C++ (Numerous) Mojo (Palm) Java (Android, Midlet spec, RIM) .NET / Silverlight (MicrosoJ) HTML (mobile web)

Cross-plagorm development

Handhelds

Desktop

Netbooks
Web Developers

Tablets

Users

Connected TVs

Our three key ingredients


Android iOS HTML 5

You might also like