CS 1 Wireless Communication and Mobile Programming Mobile
CS 1: Wireless Communication and Mobile Programming Mobile Application Development: A Quick Survey Dr. Khaled Mahmud Laurentian University International Global Experience Program Summer 2016
Agenda �Mobile Devices �Mobile OS �Framework �IDE �App Store �Geolocation (c) Khaled Mahmud 2
Reference �Mobile application development � http: //en. wikipedia. org/wiki/Mobile_application_development �Open Handset Alliance � http: //www. openhandsetalliance. com/ (c) Khaled Mahmud 3
Devices (Running Mobile OS) �Smartphone �Tablet �MP 3 player �Camera �Smart TV �Media player �CD/DVD player �Set-top boxes �Vo. IP phone �Home automation and security system �Smart Gadgets (watches) (c) Khaled Mahmud 4
Mobile OS OS Owner Device- Smartphone Device- Tablet Android Google Samsung Galaxy, LG Nexus, HTC One Google Nexus i. OS Apple i. Phone i. Pad Windows 10 Mobile Microsoft Nokia Lumia 950 Black. Berry (OS 10, Tablet QNX) Blackberry (formerly RIM) Blackberry Z 10 Ubuntu Touch Canonical Firefox OS Mozilla Tizen Linux Foundation Sailfish Jolla (c) Khaled Mahmud 5
Requirements for Mobile OS �Support for �Touchscreen �Cellular �Bluetooth �Wi-Fi �GPS mobile navigation �Camera, Video camera �Speech recognition �Voice recorder �Music player �Near field communication (NFC) and infrared blaster (c) Khaled Mahmud 6
World-wide Smartphone Sales (Percentage share) (c) Khaled Mahmud http: //en. wikipedia. org/wiki/Mobile_operating_system 7
World-wide Smartphone Sales (c) Khaled Mahmud 8
Android �Releases and sweet names � Cupcake (1. 5) � Frozen Yogurt ("Froyo") (2. 2) � Ginger Bread (2. 3) � Honeycomb (3. 0) � Ice Cream Sandwich (4. 0) � Jelly Bean (4. 2) � Kit. Kat (4. 4) � Lollipop � Marshmallow � Nugat �Open source � Promoted by OHA �Development language � Java (c) Khaled Mahmud 9
Android Development �SDK: Android SDK �Language: Java �IDE: �Any Java IDE (recommended: Eclipse, plug-in available) �Android Studio �Emulator: available (c) Khaled Mahmud 10
i. OS �Closed source �Language(s): �Objective C �Swift �Devices �All developed by Apple �i. Phone, i. Pod Touch, i. Pad �Second-generation Apple TV �Multitasking is supported through background APIs �Not true multi-tasking like desktop (c) Khaled Mahmud 11
i. OS Development �SDK: i. OS SDK � Needs Mac OS X (Lion) device �Framework: Cocoa Touch �IDE: Xcode �Simulator: Freely available � Requires Apple ID �Actual device development: � Requires subscription: Developer Program ($99/year) (c) Khaled Mahmud 12
i. OS Architecture �Four abstraction layers �Core OS layer �Core Services layer �Media layer, and �Cocoa Touch layer (c) Khaled Mahmud 13
Windows 10 Mobile �Closed source �Current market share is less than 1% �Feature �Metro-design � Resizable tile �Removable storage �NFC �Vo. IP integrated in the OS core �FM radio �Targeted for �PCs, mobile devices, Xbox, (c) Khaled Mahmud http: //en. wikipedia. org/wiki/Windows_Phone 15
Windows Development �Language: C/C++, C# �SDK: Windows Phone SDK 10 �IDE: Visual Studio 2015, … �Emulator: Available �Game development framework: Using XNA �Beginners start here �http: //channel 9. msdn. com/Series/Windows-Phone-8 Development-for-Absolute-Beginners (c) Khaled Mahmud 16
Blackberry 10 �Based on QNX (Unix-like) �Targeted for both smartphone and tablet �Closed source �Language(s) �C/ C++: Native SDK �C++/Qt: Cascades SDK �HTML 5/Javascript/CSS: Webworks SDK �Action. Script: Adobe AIR �Java: Android runtime �Devices �All developed by Blackberry (RIM) �Z 10, Q 10 (c) Khaled Mahmud http: //en. wikipedia. org/wiki/ 17
Ubuntu Touch �Mobile version of Ubuntu: Designed for touch screen �Target: �Smartphones, tablets, mobile, GPS smartnav, in-vehicle infotainment �First device: BQ Aquaris M 10 (tablet) �UI platform: QT 5 -based, also uses Maemo, Mee. Go frameworks �Because of Linux kernel, the system can be easily ported to Android smartphones (c) Khaled Mahmud 18
Open Handset Alliance (OHA) �Consortium of 84 firms to develop open standards for mobile devices �Member firms include �Google, HTC, Sony, Dell, Intel, Motorola, Qualcomm, Texas Instruments, Samsung Electronics, LG Electronics, T-Mobile, Sprint Nextel, Nvidia, and Wind River Systems �Android is the flagship software of the alliance �Competes against mobile platforms from Apple, Microsoft, Nokia (Symbian), HP (formerly Palm), and Samsung Electronics (Bada) (c) Khaled Mahmud 20
APP Stores � Apple App Store �Developer: 70% �Apple: 30% �Google Play �Windows Store �Blackberry App World (c) Khaled Mahmud 21
Android Features � Storage � SQLite (lightweight relational data base) � Connectivity: � GSM/GPRS/EDGE, CDMA, UMTS, Wi. Fi, Wi. MAX � Messaging � SMS, MMS � Web browser � With Java. Script engine � Media support � H. 263, MP 4, AMR, AAC, WAV, MIDI, Ogg Vorbis, JPEG, GIF, PNG, BMP � Multi-touch � Multi tasking � Flash support � Tethering � Hardware support � Camera � Accelerometer sensor � Digital Compass � Proximity sensor � GPS (c) Khaled Mahmud 22
Android Architecture � 4 layers (5 sections) � Linus kernel � Libraries � Android runtime � Application framework � Applications (c) Khaled Mahmud http: //en. wikipedia. org/wiki/Android_%28 operating_system%29 23
Android Architecture Diagram Applications and Widgets Home Contacts Browser Widgets Apps… Application Framework Activity Manager Window Manager Content Provider View System Notification Manager Package Manager Telephony Manger Resource Location Manager Sensor Manager Surface Manager Media Framework SQLite Open. GL | ES Free. Type Web. Kit SGL SSL libc Display Driver Bluetooth Driver Camera Driver Binder (IPC) Driver Flash Memory Driver Keypad Driver USB Driver Wi. Fi Driver Audio Driver Power Management Libraries Android Runtime Core Libraries Dalvik Virtual Machine Linux kernel (c) Khaled Mahmud 24
Android Interfaces and Architecture (c) Khaled Mahmud https: //source. android. com/devices/ 25
Accessing Hardware Capabilities �Wireless device �Modem �Touch screen �Camera �Accelerometer sensor �Digital Compass �Proximity sensor �GPS �Battery (c) Khaled Mahmud 26
Locating in Mobile Device �W 3 C Geolocating API �Cleint-side �Consults of Location Information Servers �Common sources of location information �IP address �Wi-Fi and Bluetooth MAC address �Radio-Frequency Identification (RFID) �Wi-Fi connection location �Device Global Positioning System (GPS), and �GSM/CDMA cell IDs (c) Khaled Mahmud http: //en. wikipedia. org/wiki/W 3 C_Geolocation_API 27
GPS Software in Mobile devices �i. GO (paid) �i. OS, Wndows, Android �Google maps for Mobile (free) �Android, i. OS �Apple Maps (free) �i. OS �Black. Berry Maps �Black. Berry 10 �Ovi Maps �Symbian OS (c) Khaled Mahmud 28
- Slides: 26