introduction to mobile computing dr. frank mccown harding university spring 2010 an overview of...
TRANSCRIPT
Introduction to Mobile Computing
Dr. Frank McCownHarding University
Spring 2010
An Overview of Mobile Devices and Developing Mobile Applications
Types of Mobile Devices
• Handheld devices• Handheld computers• Personal Digital Assistants• Palmtops• Smartphones
Pocket PC Phone
http://en.wikipedia.org/wiki/Windows_Mobile http://en.wikipedia.org/wiki/Image:Modern_Pocket_PC.png
Blackberry Storm
http://en.wikipedia.org/wiki/File:Blackberry_Storm.JPG http://www.mobileafrica.net/images/apple-iphone.jpg
iPhone
Archos 5 Internet Tablet
http://techplore.com/technology/wp-content/uploads/2009/10/archos-5-internet-tablet_1.jpg http://homebiss.blogspot.com/2009/11/motorola-droid-iphone-3gs.html
Motorola DROID
http://www.wired.com/reviews/product/pr_nexus_one
Google Nexus One• Retail: $530• Not tied to single provider• 3.7-inch 800 x 400-pixel OLED screen• No support for multitouch• 512 MB of built-in flash memory •Preloaded 4 GB SD card•Ubiquitous voice recognition• 5-megapixel camera with zoom and flash• Navigation system using Google Maps and GPS
http://www.appleinsider.com/articles/09/08/21/canalys_iphone_outsold_all_windows_mobile_phones_in_q2_2009.html
Mobile Devices – The Good
• Always with the user• Typically GPS capable• Typically have accelerometer• Many apps are free or low-cost
Mobile Devices – The Not-So-Good
• Limited screen size and colors• Limited battery life• Limited processor speed• Limited and slow network access• Limited or awkward input: soft keyboard, phone
keypad, touch screen, or stylus• Limited web browser functionality• Often inconsistent platforms across devices• Warning: Blackberry thumb
Mobile Applications
• What are they?– Any application that runs on a mobile device
• Types– Web apps: run in a web browser• HTML, JavaScript, Flash, server-side components, etc.
– Native: compiled binaries for the device
Native App Development Environments
• Java ME • .NET Compact Framework (C++, C#, VB.NET) for
Windows Mobile• Qualcomm’s BREW (C or C++)• Symbian (C++)• BlackBerry (Java)• Android (Java)• iPhone (Objective-C)• Is having so many choices a good thing?
Development Environments
• Most platforms have an SDK that you can download and build against
• Every platform has an emulator that you can use to test your apps
• Most emulators are configurable to match a variety of mobile devices– Various screen sizes, memory limitations, etc.
xCode IDE & iPhone Emulator
http://developer.apple.com/iphone/library/referencelibrary/GettingStarted/Creating_an_iPhone_App/index.html
Eclipse and Android Emulator