tendências em computação ubíqua e...
TRANSCRIPT
1Mobile and Ubiquitous Computing
Tendências em Computação Ubíqua e Móvel
Rui Silva Moreira10/14/2009
Objectivos do Seminário
� Evolução dispositivos e tecnologias
� Comunicações sem fios
� Tipos de dispositivos móveis
� Sistemas móveis
� Estatísticas
Plataformas Móveis
� Linguagens e ferramentas
� Plataforma J2ME
� Plataforma .NET CF (HTC, etc.)
� Plataforma Python (Nokia S60 Module)
� Plataforma Carbide C++ (SymbianOS)
2
� Plataformas Móveis
� Sistemas operativos
� Plataformas de desenvolvimento
OS)
10/14/2009Mobile and Ubiquitous Computing
Caracterização das aplicações móveis
Evolução das plataformas e aplicações móveis
Características das plataformas móveis (CPU, RAM, IO)
Introdução Aplicações Móveis3
Características das plataformas móveis (CPU, RAM, IO)
Comunicações sem fios (e.g., WiFi, Bluetooth, Ird, etc.)
Plataformas de desenvolvimento de aplicações móveis
10/14/2009Mobile and Ubiquitous Computing
Computer evolution4
size
Trends:• Miniaturization• Computing power increase• Storage increase•Wireless communication
10/14/2009Mobile and Ubiquitous Computing time
Wireless devices history5
Decade Description/Main achievments
1970s Calculator with timer – schedule functions HP-45Programmable calculator + Removable card reader HP-65Primitive PDA (Calc, Clock, Alarm, Scheduler) – Casio CQ-1Basic modern PDAs (calc, DB, NotePads, etc.) – Toshiba LC-836, Canon, Sharp EL-8160
1980s PDA with char recognition – Casio PF-8000
10/14/2009Mobile and Ubiquitous Computing
1980s PDA with char recognition – Casio PF-8000Handheld computer (HHC 5th Generation) – Casio FX-78PDot matrix display (graphics) – Casio FX-7000GCalculator with IR – HP-18cNintendo game boy
1990s Standard GSM – mobile phonesSmart phones – IR, WLAN 802.11b, BT 1.0, UMTSSO - Win CE 1.0, Symbian (Ericson, Nokia, Motorola)Development – J2ME
2000s 1st Mobile phone with camera - SharpSO - Mobile Linux; Symbian OS v9Win Mobile 6.0
PDAs device types6
� 1st really true mobile devices
� Focus personal info (contacts, calendar/agenda)
� Easy interface (stylus-based/keyboard-based GUI)
� SOs (Palm OS, Win CE)
10/14/2009Mobile and Ubiquitous Computing
� SOs (Palm OS, Win CE)
� Trends:
�Wireless commun. (BT, WLAN, GSM / GPRS / UMTS)
� Improve input methods
Mobile Phones device types7
� First “true” wireless devices
� Focus on communication
� Limited keyboard-based GUI
� Closed APIs & Proprietary OS
10/14/2009Mobile and Ubiquitous Computing
� Trends:� Evolve towards PDAs
� Programming APIs (e.g., Java)
� Open OS (Symbian, Windows, Linux)
� Enhanced computing and communication capabilities (multimedia, data communication)
Further device types8
� Ultra portable laptops
� Tablet PCs
10/14/2009Mobile and Ubiquitous Computing
� Wearables
Future device types9
10/14/2009Mobile and Ubiquitous Computing
Markets
� Generic design for broad range of apps
� Mass market
� Specific application / function design
� Limited market
10
Horizontal Vertical
� Mass market
� Based many standards (e.g., J2ME, WAP, Bluetooth)
� SDKs available from device manufacturers
� Limited market
� May use special hw/swfor application (e.g., barcode scanner)
� SDKs usually only available to device developers
10/14/2009Mobile and Ubiquitous Computing
Mobile Phones join concepts
� Device moves aroundlocations
� Easy connection (e.g., IP-based) withoutwires
11
Mobile Wireless
� Can have mobile devices withoutwireless (gamePADs)
wires
� Can have WiFi withoutmobile devices(Desktop - AP)
10/14/2009Mobile and Ubiquitous Computing
Mobile Phones join concepts12
Mobile Nintendo
10/14/2009Mobile and Ubiquitous Computing
Local Wireless(IrDa, BT, WLAN)
Remote Wireless(GSM, GPRS, UMTS, EDGE)
MobilePhone
WiMAX WiFi
Wireless Comm Evolution - Initial13
� 1933: First police radios
� 1938: First Walkie Talkie
� 1946: Wireless Phone by AT&T� dynamic channel allocation (manually)
� frequency reuse by “cells”
10/14/2009Mobile and Ubiquitous Computing
� Cell handover still to complex to handle automatically
� 1948: Invention of the transistor
� 1959: Invention of the integrated circuit (IC)
� 1964: First system with automatic channels allocation, duplex, no automatic handover
� 1969: First cell based system by Bell with automatic handover (in a train)
Wireless Comm Evolution – 1G (analog)14
� 1978: USA AMPS (Advanced Mobile Phone System)
� 1978: Switzerland: Natel A
� 1980: Europe: nine competing analog standards
� 1983: Switzerland: Natel B
� 1987: Switzerland: Natel C
10/14/2009Mobile and Ubiquitous Computing
� 1987: Switzerland: Natel C
� Based on analog modulation of radio carrier (no coding, no compression)
� Limited number of simultaneous calls due to limited frequency range
� Circuit switched
� In the beginning: No handover, no roaming
� Voice and (slow) data
Wireless Comm Evolution – 2G (digital)15
� Europe / Asia
� GSM (Global System for Mobile Communication): fully digital system (1987: Standard; 1990: First networks); TDMA
� America
� D-AMPS (Digital AMPS; 1990 first networks): Combined analog/digital system; TDMA
10/14/2009Mobile and Ubiquitous Computing
TDMA
� cdmaOne (CDMA; 1994: First networks): full digital system; CDMA
� Japan
� PDC (Personal Digital Cellular; 1993: First networks): TDMA
Wireless Comm Evolution – 2G (digital)16
� Digital coding and compression
� Techniques to increase simultaneous calls (time, frequency, andcode division)
� Circuit switched
Handover and international roaming
10/14/2009Mobile and Ubiquitous Computing
� Handover and international roaming
� Additional services beside voice
� Text service: SMS
� 1997: WAP (Wireless Application Protocol) forum created
� Data traffic in wireless telephony networks
� WML (Wireless Markup Language)
Wireless Comm Evolution – 2.5G17
� Packet based add-on to 2G networks
� GSM
� GPRS (uses free timeslots for data)
� EDGE (uses free timeslots for data, with more efficient modulation)
CDMA
10/14/2009Mobile and Ubiquitous Computing
� CDMA
� CDMA2000 1x-RTT (Single Carrier Radio Transmission Technology)
� CDMA2000 air interface, also allows data transport
Wireless Comm Evolution – 3G18
� Europe: UMTS (Universal Mobile Telephone System) (W-CDMA)
� America, Japan, Korea: CDMA 2000 (Code Division Multiple Access)
� China: TD-SCDMA (Time Division-Synchronous Code Division Multiple Access)
Based on digital coding and compression
10/14/2009Mobile and Ubiquitous Computing
� Based on digital coding and compression
� Based on code division to increase nº simultaneous calls
� Circuit switched and packet data
� Handover and international roaming
� Many additional services beside voice
Evolution Mobile Subscriber19
10/14/2009Mobile and Ubiquitous Computing
Evolution Mobile Subscriber20
10/14/2009Mobile and Ubiquitous Computing
Mobile Devices/Systems21
� widely spread and accepted
� Mobile networks are established
� Several implemented Standards (GSM, UMTS, Bluetooth, IrDA, TCP/IP, HTTP, WAP, J2ME, OBEX, Sync ML, etc.)
� More and more business applications will use mobile
10/14/2009Mobile and Ubiquitous Computing
� More and more business applications will use mobile equipment
� Increase hw capabilities (miniaturization and communication speeds)
� However:
� the “killer application” in the consumer market still not found
� the device landscape is extremely heterogeneous
PC versus Mobile Devices22
PC/Laptop Mobile Devices
Network Bandwidth 1 - 1000 MBit/s 10 - 300 KBit/s
Network Latency 1 - 200 ms 50 - 2000 ms
Network quality Always on Interrupted
Power 2h - years 5h - 5 days
10/14/2009Mobile and Ubiquitous Computing
CPU 2000 - 6000 MIPS 50 - 500 MIPS
Screen 1 – 2 MPixels 20 – 100 KPixels
Input Keyboard & Mouse Limited Keyboard / Pen
Storage 20 – 500 GBytes 1-256 MBytes
Memory 256-1024 MBytes 1-32 MBytes
Limitations:� size & power limits will always be present – challenging for sw� Memory (RAM) & MIPS are reaching limit
Exemplos de projectos23
10/14/2009Mobile and Ubiquitous Computing
Projecto EcoPDA24
� Anotação de imagens captadas com a câmara dotelemóvel juntamente com o momento e localização
� Guarda informações, e.g., cor da folhagemdurante o verão e a data em que mudou a cor, ou
10/14/2009Mobile and Ubiquitous Computing
durante o verão e a data em que mudou a cor, ouquando as folhas caíram das árvores (pode usar-seem estudos ambientais);
� Aplicação pode apresentar automaticamente infoassociada ao local/objectos de interesse numa foto(URL)
Projecto EcoPDA25
10/14/2009Mobile and Ubiquitous Computing
Virtual Blood Bank Project26
� Os subscritores comunicam com o servidor através da aplicação de telemóvel especificando o tipo de sangue pretendido e a sua localização.
10/14/2009Mobile and Ubiquitous Computing
� O servidor efectua o matching entre o tipo de sangue e a localização com o perfil dos dadores e dos bancos de sangue, calcula uma resposta e envia-a via GPRS ao seu subscritor.
Virtual Blood Bank Project27
10/14/2009Mobile and Ubiquitous Computing
WikiCity: Real-TimeUrbanEnviroments28
� Plataforma de troca de informação sensível à localização e em tempo real;
� Acessível através de diversos meios:
� Interfaces Web,
10/14/2009Mobile and Ubiquitous Computing
� Interfaces Web,
� dispositivos móveis.
Real Time Rome29
� http://senseable.mit.edu/realtimerome/
� Explorar em tempo real info sobre os autocarros
10/14/2009Mobile and Ubiquitous Computing
info sobre os autocarros e a densidade de pessoas
Mobile Social Bookmarking30
� usar os telemóveis para:
� deixar notas virtuais de locais de interesse
� partilhar essa experiência com outros residentes.
10/14/2009Mobile and Ubiquitous Computing
GUIDE project31
� Guia da cidade baseado na localização
� Todas as notas incluem as suas coordenadas GPS
� Vantagens
10/14/2009Mobile and Ubiquitous Computing
� Vantagens
� Conteúdo gerado pelo utilizador
�Mais fácil de manter actualizado
� www.guide.lancs.ac.uk/overview.html
Situated Visualizations
� Computação móvel pode ajudar na análise e planeamento urbano
Aumentar o projecto de
32
� Aumentar o projecto de um local com informação 3D, através de algoritmos de reconhecimento de imagem
10/14/2009Mobile and Ubiquitous Computing
ARf
� Augmented Reality
Virtual Pet on the
iPhone
33
10/14/2009Mobile and Ubiquitous Computing
http://www.youtube.com/watch?v=_0bitKDKdg0
Mobile OS
Mobile platform environments
Mobile Platforms34
Mobile platform environments
10/14/2009Mobile and Ubiquitous Computing
Introduction35
� Large number of different development platforms (each has its own capabilities, limitations, peculiarities, etc.)
� Deployment status of platforms around the world varies dramatically
Platforms come and go
10/14/2009Mobile and Ubiquitous Computing
� Platforms come and go
� Therefore, for a concrete application scenario, the target platform has to be selected carefully:� What are the application’s requirements?� Where will it be deployed (nationally, globally)?� How will the application evolve in the future?
Operating Systems36
� Symbian OS
� Fully fledged OS for mobile devices
� Strong support by Nokia, Ericson
� Mainly deployed in Europe
� Microsoft Windows Mobile
� The mobile variant of Windows
� Mostly present on PDAs
10/14/2009Mobile and Ubiquitous Computing
� Mostly present on PDAs
� Mobile Linux
� The aim to bring Linux to mobile devices
� Motorola has a strong commitment behind Linux
� Currently, many announcements, but few realizations
� Palm OS
� Still an important factor in the USA
� Android
� Goggle
Mobile Platforms Environments37
� Java 2 Micro Edition (J2ME)
� Brings Sun’s Java to the mobile domain; Almost globally deployed;
� BREW
� Created by Qualcomm for CDMA networks; Deployed mainly in the USA;
� Flash Lite
10/14/2009Mobile and Ubiquitous Computing
Flash Lite
� For simple creation of interactive multimedia applications; Mainly adopted in the Japanese market
� Python
� Similarly to J2ME, would allow for deployment wherever python is available; Not widely deployed yet
� Microbrowser-based
� Lightweight functionality, web interfaces; Based on WML (WAP 1.2) or XHTML (WAP 2.0)
Comparison38
10/14/2009Mobile and Ubiquitous Computing
J2ME39
� Need for a simple, standardized programming environment for small, mobile devices (PDAs, mobile phones, appliances, set-top boxes, etc.)
� Write once run everywhere (= the Java promise)
� Java Standard Edition (J2SE) would be a good candidate but is too heavy for devices with
10/14/2009Mobile and Ubiquitous Computing
but is too heavy for devices with� Limited memory (JVM only requires about ~35 MB)
� Small screen size (Swing/AWT designed for SVGA or better)
� Alternative input methods (Swing / AWT based on keyboard + mouse)
� Slow processors (JVM designed for desktop CPUs)
� Sun decided to build special edition of Java for small devices: J2ME
Symbian OS UI Frameworks40
� Avkon / S60 (Nokia); Qikon / UIQ (UIQ Technology, now Sony Ericsson); Both based on Uikon, the common UI framework
� Application Services:
� PIM services (Agenda, To-Do, Contacts); Messaging services (SMS, MMS, email)
� Content handling services (HTML); Internet and Web Application Support (HTTP)
� Data Synchronization Services (SyncML)
10/14/2009Mobile and Ubiquitous Computing
� Data Synchronization Services (SyncML)
� Multimedia & Graphics
� Audio, video, speech recognition API, camera API, accelerated 2D and 3D (OpenGL ES)
� Communication:
� Socket server and client-side APIs for various protocols
� Short link: Bluetooth, IrDA
� Networking: TCP/IP, dial-up (PPP); TLS / SSL
� Telephony: Provides access to telephony features. Support for GSM / GPRS / EDGE; CDMA IS-95 / CDMA2000; UMTS
Symbian OS UI Frameworks41
� Main Source: http://developer.symbian.com
� Plugins for many IDEs (e.g., Eclipse, Xcode)
� Specific IDEs (e.g., VistaMax)
� Nokia’s Carbide tools
10/14/2009Mobile and Ubiquitous Computing
� Eclipse plugins (alternatively for Visual Studio too)
� Provide emulator
� Windows only and focus on S60
� There is also Carbide.j, Nokias developer tools for J2ME
Windows Mobile42
� Windows Mobile is Microsoft’s key technology to enter the mobile market
� Similarly (dedicated OS) to Symbian OS
� However, many things are borrowed from Windows:
Re-use of existing application code
10/14/2009Mobile and Ubiquitous Computing
� Re-use of existing application code
� Large developer base familiar with Microsoft APIs and
development tools
� So far, mostly deployed on PDAs
Windows Mobile Generations
� Windows CE 1.0
� Fall 1996 Handheld PC
� Windows CE 2.0
� Fall 1997 Handheld PC 2.0
� Spring 1998 Palm-size PC 1.0
Windows CE 2.11
43
� Windows CE 2.11
� Fall 1998 Handheld PC 3.0
� Spring 1998 Palm-size PC 2.0
� Windows CE 3.0
� Spring 2000 Pocket PC 2000
� Summer 2000 Handheld PC 2000
� Spring 2002 Pocket PC 2002
10/14/2009Mobile and Ubiquitous Computing
Conclusion44
� There are several options for selecting a mobile development platform
� Currently, there is no dominant operating system, nor are there portable native APIs across different systems
� Thus, if we do not depend on native code, a platform like
10/14/2009Mobile and Ubiquitous Computing
� Thus, if we do not depend on native code, a platform like J2ME is well suited:
� – Standardized and mature
� – Well deployed
� – Relatively good portability (by now)
� – Relatively short development cycles
� – Runs inside managed environment (security!)