Mobile Application Development-lecture
发布时间:2021-06-06
发布时间:2021-06-06
Mobile Application Developmentand Ubiquitous InteractionGiulio Jacucci, Professor giulio.jacucci@tkk.fi +358 50 384 1535
k.fi/~giulio/Trial-lecture/mobile-lecture.htm
This Lecture: Content– Why and How Mobile Development – Platform Selection – Development process – Emergent area: Ubiquitous interaction – Case studies
Aim– Get you convinced and providing basics: To get started developing!
Mobile? Application ? Development ? Mobile– Refers to a mobile device as opposed to a stationary PC. While generally Laptop are not considered mobile current trends Netbooks might change this!
Application– an application is a computer program designed to help people perform a certain type of work. – Stand alone or distributed, Sandboxed, etc.
Development– refers to more than programming, design, technology selection , organisation of tools, testing, publishing…
Rapidly growing Apps iPhone:Metro paris AR App
Android : Layar
App usages and developers
Why With manageable effort:– Have fun! – Learn to program – Have impact and get famous! – ContextCues / Jaiku / Google
Unprecedented opportunity– Since a decade mobile development has moved from Services to Applications giving more power to developers community
What’s so unique about mobile? Opportunity to develop for ubiquitous interaction through– Sensors and Multimodality – Interaction with real world and other devices
However:– Difficulty in developing efficient, non-sandboxed mobile applications cross platform
Very quick history Pocket PCs– C++ , J2ME – e.g. adding camera and GPS modules for barcode recognition and context awareness1995
Cell phones– WAP unusable, xhtml a bit better
Smartphones– J2ME, Symbian, – Python, Flash, Web technologies – Distributed applications2005
Platforms
Market shares
Development Process Design– Concept, interaction, graphics, user experience
Platform– Selection, Programs and Trusted Platforms, certificate signing
Programming– Language, tools, emulators
Testing– In particular in cross platform development!
Delivery– E.g. open source, App Store, Ovi Store etc.
Case CoMedia Java 2 Micro Edition as a MIDlet + native Symbian application for collecting context information runs in the background and transmits data to the Milet via an XML stream.
Case Study: Atwink! Anoto pen sends via bluetooth drawing to the mobile phone which has specialpurpose software designed for receiving and transmitting the data. This client software has been written in Python and C++2, and supports S60 3rd Edition phones such as the Nokia N95
MapLens Symbian OS S60 on Nokia N95 phones with camera and GPS. The paper map used with MapLens is an unmodified satellite image (with street overlay) from Google Maps 3D tracking and image augmentation execute directly on the phone for minimal latency
, the MapLens system relies on client/server architecture for storing and retrieving the media data (HTTP, ATOM)
Energy LifeWeb based 3D UI AJAX Full screen Touch InputApplication layer server-Detect client browser -Deliver adapted CSS, JavaScript and inclusion of tailored PHP files
- Browser independent CSS, JavaScript - Browser dependent CSS, JavaScript
Client browserTop-inforetrieve retrieve
applogin
Authenticate
Security-manager- Calling service layer web services using JAX-WS with JSON bindings
Circle-menu cardmenu Main-menu
Retrieve/ update
adviceUpdatersavingsUpdater quizUpdater
retrieve retrieve
XMLHttpRequest, name of callback function
Retrieve/ update
Service Layer web services
JSON object, as parameter in callback function
browser
retrieve
Examples from the Audience? …… Metro AR Paris Layar on Android Outlaw games (jailbroken )
Summary Until now difficulty to develop non sandbox cross platform applications Trends– Merging of Native and Web – Cross platform libraries e.g. QT
Ubiquitous Interaction– User experience expectation set high on playfulness, multimodality and ubiquitous use
Get started– Idea, team, platform, program, publish