9110i Lec 01 Course Introduction

User Manual: 9110i

Open the PDF directly: View PDF PDF.
Page Count: 81

Download9110i Lec-01 Course-Introduction
Open PDF In BrowserView PDF
App Development for Smart Devices
CS 495/595 - Fall 2013

Tamer Nadeem

Dept. of Computer Science

Course Logistics

Page 2

Fall 2013

CS 495/595 - App Development for Smart Devices

Welcome to CS 495/595
• Timings:

Monday 7:10pm to 9:50pm

• Location:

Dragas 1117

• Instructor:

Tamer Nadeem
Ph.D from Univ. of Maryland, 2006
Research in Networks, Dist Sys, Mobile Comp.
Email: nadeem@cs.odu.edu
Office: ECSB 3204

• Office Hours: Mon 1:00pm-2:30pm,
or by appointment
Page 3

Fall 2013

CS 495/595 - App Development for Smart Devices

Welcome to CS 495/595
• Teaching Asst.:

Mostafa Uddin
Email: muddin@cs.odu.edu
Office: ECSB 3106

• Office Hours:

Page 4

Fall 2013

Wednesday 10:00am-11:30am,
or by appointment

CS 495/595 - App Development for Smart Devices

Welcome to CS 495/595
• Prerequisites: Comfortable with Java
• Grading:
• Participation:

10%

• Midterm:

25%

• Programming Assignments: 40%
• Final Project:

Page 5

Fall 2013

25%

CS 495/595 - App Development for Smart Devices

Welcome to CS 495/595
• Class Webpage:
• http://www.cs.odu.edu/~cs495/
• Please check course website frequently

• Make up classes:
• Will be occasionally necessary due to travel
• Fixed schedule versus case by case basis?

Page 6

Fall 2013

CS 495/595 - App Development for Smart Devices

Welcome to CS 495/595
• Text:
• Required:
• Wei-Meng Lee, "Beginning Android 4
Application Development"

• Recommended:
• Reto Meier, "Professional Android 2 Application Development"
• James Steele, Nelson To, "The Android Developer's Cookbook“

• Android Developers (Dev Guide, Reference, etc.):
http://developer.android.com/index.html
Page 7

Fall 2013

CS 495/595 - App Development for Smart Devices

Welcome to CS 495/595
• Academic Integrity / Honor Code:
• "I pledge to support the honor system of Old Dominion
University. I will refrain from any form of academic
dishonesty or deception, such as cheating or plagiarism.
I am aware that as a member if the academic
community, it is my responsibility to turn in all suspected
violators of the honor system. I will report to Honor
Council hearings if summoned.“
• Please refer to ODU Honor Council’s webpage:
http://orgs.odu.edu/hc/

Page 8

Fall 2013

CS 495/595 - App Development for Smart Devices

Welcome to CS 495/595
• Course Policy:
• Grading:
•
•
•
•

90-100
80-89
70-79
0-69

A
B
C
F

• Late assignments are not accepted.
• Attendance
• Account & Email
Please refer to class webpage for more details.
Page 9

Fall 2013

CS 495/595 - App Development for Smart Devices

Course Overview

Page 10

Fall 2013

CS 495/595 - App Development for Smart Devices

This Course
• Introduces fundamentals of application development
for Android phones
• Goals of this course:
• Help you learn about mobile app development and best practices
• Provide you with the tools, knowledge, and excuse to create a novel
mobile app that helps solve a serious problem that strengthens your
programming portfolio

• Envisions new practical mobile applications/services

Page 11

Fall 2013

CS 495/595 - App Development for Smart Devices

Class Responsibilities
• I will lead lectures
• You present 1-2 paper(s) in entire semester (25 minutes)
• 2-3 students presentation per class
• Some classes will include coding

• For every class, read the readings list before the class
• Assignments should be on time

Page 12

Fall 2013

CS 495/595 - App Development for Smart Devices

Course Structure
• 1 mid term?, No Final Exam
• Tentative date of mid-term: Nov 11th

• Semester-long class project
• In groups of 2 (max 3).
• Individual projects are allowed by permission

• Focus on this from early on

• Class ends with a final project presentation & demo

Page 13

Fall 2013

CS 495/595 - App Development for Smart Devices

Participation / Presentation
• Ask lots of questions. Period.
• I strongly encourage you to ask, disagree, debate

• Class presentation
•
•
•
•

You present 1-2 paper (25 minutes)
Check class schedule by next week for reading papers
Email me any paper you are interested in
Pick 4 open slots (check class schedule)
• Earlier you pick, more options you have to choose from
• Deadline is Sep 06, 2013

• Email me your choice of paper (and date)
• Don’t worry about not knowing the topic of paper
• By that time, you will know enough
Page 14

Fall 2013

CS 495/595 - App Development for Smart Devices

Thoughts on Reading Assignments
• Know why you are reading the paper
• Reading for absorbing concepts (class assignment)
• Read fully, think, reread, ask, challenge

• Reading for excitement (deciding project topic)
• Read initial parts, don’t try to understand everything, get a feel

Page 15

Fall 2013

CS 495/595 - App Development for Smart Devices

Course Term Project
• Initial proposal due Oct 10 after Fall break
• 1- page progress report every 2 weeks (due Friday night)
• Final report + demo + presentation

• Projects consist of:
• Application/Service identification
• Solution design
• Implementation

• Discuss your thoughts and ideas with me
• They need not be cooked, and can have many flaws
• Statistically, every 18 ideas lead to one decent idea

• If you like an area/direction
• Search and Read many many related references
Page 16

Fall 2013

CS 495/595 - App Development for Smart Devices

More on Projects
• Project ideas take time … think now and then
• Spending 3 hours for 10 days better than 10 hours for 3 days

• Find a project partner(s) early
• Search and discuss App/Services ideas

• Everyone in the class will try/critique apps from other
teams
• At end of the course we will vote for the Top App
• Possible Application/Service domains:
• Transportation
• Education

• Energy
• Smart Home

• Health

Page 17

Fall 2013

CS 495/595 - App Development for Smart Devices

Labs/Facilities
• Development Environment:
• Your laptop
• ECSB 3104 (Open Research Lab)
• SmartApp Lab (under construction)

• Collaboration:
• Internet
• BlackBoard Discussion (http://clt.odu.edu/bb/)
• Friends/Colleagues

Page 18

Fall 2013

CS 495/595 - App Development for Smart Devices

INTRODUCTION

Page 19

Fall 2013

CS 495/595 - App Development for Smart Devices

Mobile Computing
• Driven by technology and vision
•
•
•
•

wireless communication technology
global infrastructure
device miniaturization
mobile computing platforms

• The field is moving fast
• “People and their machines should be able to access information and
communicate with easily and securely, in any medium each other or
combination of media – voice, data, image, video, or multimedia – any
time, anywhere, in a timely, cost-effective way.”, Dr. G. H. Heilmeier,
Oct 1992
• “The mobile device will be the primary connection tool to the Internet
for most people in the world in 2020.”, PEW Internet and American
Life Project, Dec. 2008
Page 20

Fall 2013

CS 495/595 - App Development for Smart Devices

Smart Devices
• A smart device is a device that is digital,
active, computer networked, is user reconfigurable and
that can operate to some extent autonomously.
• A smart device is a ubiquitous computing device: a device
that exhibits some properties of ubiquitous computing
including artificial intelligence.
• Mark Weiser categorized ubiquitous devices:
• Tabs: accompanied or wearable centimeter sized devices,
e.g., smartphones, smart cards
• Pads: hand-held decimeter-sized devices, e.g., laptops
• Boards: meter sized interactive display devices,
e.g., horizontal surface computers and vertical
smart boards.

Page 21

Fall 2013

CS 495/595 - App Development for Smart Devices

Mobile Devices
• Multi-purpose devices (e.g., personal office, mobile phone, camera,
etc.)
• Mobility: loosely-bound vs. tightly-bound to users
• Personalized
• Operates as a single portal, e.g., a Web portal.
• Internal application services
• External services typically accessed local area wireless network
• Intermittent resource access
• A locus of control that resides in the smart device.
• Networked, distributed and transparently accessible.
• Context awareness

Page 22

Fall 2013

CS 495/595 - App Development for Smart Devices

Smart Devices at Home/Office

Page 23

Fall 2013

CS 495/595 - App Development for Smart Devices

Smart Devices on Move
BT
Cellular

FM/XM
GPS
DVB-H

Apps WLAN
Processor
Media Wimax
Processor
Processor

Page 24

Fall 2013

CS 495/595 - App Development for Smart Devices

Smart Devices on Road

Page 25

Fall 2013

CS 495/595 - App Development for Smart Devices

Smart Devices for Intelligent Transportation
Mobile Millennium Traffic in San
Francisco and the Bay
Area
Source:
http://traffic.berkeley.edu/

CarTel Project at MIT
Source:
http://cartel.csail.mit.edu/doku.php
Page 26

Fall 2013

CS 495/595 - App Development for Smart Devices

Smart Biomedical Systems
Wireless	
  	
  
telemedicine	
  

	
  
Wireless	
  
network	
  

In-­‐body	
  smart	
  devices	
  

-­‐sensors/monitoring	
  devices	
  	
  
-­‐drug	
  delivery	
  systems	
  
-­‐medical	
  robots	
  
-­‐neural	
  implants	
  	
  
Page 27

Fall 2013

Recovery	
  from	
  
nerve	
  damage	
  
	
  

CS 495/595 - App Development for Smart Devices

Smart Devices in Industry

Page 28

Fall 2013

CS 495/595 - App Development for Smart Devices

Smart Devices and Mobile Social Networking

Microsoft KIN

Page 29

Fall 2013

CS 495/595 - App Development for Smart Devices

Smartphones
Trend: everything in one small device

Page 30

Fall 2013

CS 495/595 - App Development for Smart Devices

Smartphones - Overview
• A smartphone is a high-end mobile phone
• Combines the functions of
•
•
•
•
•
•
•
•
•

mobile phone
personal digital assistant (PDA)
portable media players
camera phones
high-resolution touchscreens
web browsers
GPS navigation
Wi-Fi and mobile broadband access
etc.

• Feature phone vs. Smartphone
• Feature phone

• proprietary firmware & limited platforms

• Smartphone

• open and complete mobile operating system
• tightly integrate with the user interface and phone features
• relies on a more powerful application programming interface (API)

Page 31

Fall 2013

CS 495/595 - App Development for Smart Devices

Smartphones - History
Early Years:
IBM Simon (1992)

Symbian:
Ericsson R380 (2000)
Ericsson P800 (2002)

Page 32

Fall 2013

Nokia 9000 (1996)
Nokia 9110i (1998)
Nokia 9110i (2000)

Nokia 9210 (2000)
Nokia 9500 (2005)
Nokia E90 (2007)

Ericsson GS88 (1997)

Nokia N95 (2007)
Nokia N8 (2010)

CS 495/595 - App Development for Smart Devices

Smartphones - History
Palm, Windows, BlackBerry:
Palm Kyocera Windows CE Pocket
6035 (2001)
PC (2002)

Palm OS Treo
(2002)

iPhone:

Android:

Windows Phones 7
(2007)

RIM BlackBerry
(2002)

iPhone (2007)
iPhone 3G (2008)
iPhone 4 (2010)
iPhone 4S (2011)
iPhone 5 (2012)

Android G1 – HTC Dream (2008)
Nexus One (2010)
Nexus S (2011)
Galaxy Note (2013)

Page 33

CS 495/595 - App Development for Smart Devices

Fall 2013

Smartphones - Statistics

Page 34

Fall 2013

CS 495/595 - App Development for Smart Devices

Smartphones - Statistics

Chart by The Mac Observer, from Gartner data

Page 35

Fall 2013

CS 495/595 - App Development for Smart Devices

Tablets - Statistics

Chart by The Mac Observer, from Gartner data

Page 36

Fall 2013

CS 495/595 - App Development for Smart Devices

Mobile Applications
• What are they?
• Any application software that is developed for small lowp o w e r h a n d h e l d d e v i c e s s u c h a s
personal digital assistants, enterprise digital assistants or
mobile phones.

• Users on mobile phone’s
• Typically check the news, weather, email, or their social networks
• Often have a choice between the mobile web version or a speciallycreated mobile app.

• Mobile App Types
• Web apps: run in a web browser
• HTML, JavaScript, Flash, server-side components, etc.

• Native: compiled binaries for the device
• Not cross-platform, but more interesting options
Page 37

Fall 2013

CS 495/595 - App Development for Smart Devices

Web App vs. Native App

Page 38

Fall 2013

CS 495/595 - App Development for Smart Devices

Native Development Environments
• Options
• 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 and so much industry
turmoil/competition a good thing?
Page 39

Fall 2013

CS 495/595 - App Development for Smart Devices

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, tablets, etc.
• In practice, emulators quite limited

IDE - integrated development environment that provides tools
to allow a developer to write, test and deploy applications
into the target platform environment.
Page 40

Fall 2013

CS 495/595 - App Development for Smart Devices

xCode IDE & iPhone Emulator

Page 41

Fall 2013

CS 495/595 - App Development for Smart Devices

Eclipse and Android Emulator

Page 42

Fall 2013

CS 495/595 - App Development for Smart Devices

Smart Phone – the good
• Always with the user
• Increasingly powerful devices
• Typically GPS capable
• Typically have accelerometer
• Designed for communication
• 2+ types of wireless connections
• Many apps are free or low-cost

Page 43

Fall 2013

CS 495/595 - App Development for Smart Devices

Smart Phone – the not-so-good
• Limited battery life
• Limited processor speed
• Limited RAM
• Limited, unreliable, and slow network access
• Limited screen size
• Limited permanent storage capacity
• Limited or awkward input
• (none great: soft keyboard, phone keypad, touch screen, stylus, speech)

• Inconsistent platforms across devices
• High costs associated with data transfer
Page 44

Fall 2013

CS 495/595 - App Development for Smart Devices

Android

Page 45

Fall 2013

CS 495/595 - App Development for Smart Devices

Android
• Android, Inc. founded in Palo
Alto, California in October
2003
• Google acquired Android Inc.
in August 2005
• Developed a mobile device platform powered by the Linux kernel
• Google marketed the platform to handset makers and carriers on the
premise of providing a flexible, upgradable system
• On November 2007, the Open Handset Alliance, a consortium of several
companies (e.g., Broadcom, Google, HTC, Intel, etc. unveiled itself).
The goal is to develop open standards for mobile devices.
• Open Handset Alliance unveiled their first product, Android, a mobile
device platform built on the Linux kernel version 2.6
• Android OS (open source) released in October 2008
Page 46

Fall 2013

CS 495/595 - App Development for Smart Devices

Why Android
• Simple and powerful SDK
• No licensing fees
• Excellent documentation, and a thriving developer
community
• From commercial perspective
• Requires no certification for becoming an Android developer
• Provides the Android Market for distribution and monetization of your
application
• Has no approval process for application distribution
• Gives you total control over your brand and access to the user’s home
screen

Page 47

Fall 2013

CS 495/595 - App Development for Smart Devices

Android Version
• Initial: 1.5 (Cupcake) (Apr 2009) , 1.6 (Donut) (Sep’09)
• 2.0/2.1 (Eclair) (Oct’09/Jan’10): new web browser, new
user interface, support for HTML5, Geolocation API,
enhanced camera features / voice controls, 5
homescreens, animated backgrounds.
• 2.2 (Froyo) (May’10): speed improvement, Chrome v8
JavaScript engine, Wi-Fi tethering, Adobe Flash support
• 2.3 (Gingerbread) (Dec’10): Near Field Communication
• 3.0 (Honeycomb) (Feb’11): tablet-oriented release,
supports multicore processors, hardware acceleration for graphics
• 3.1 (Honeycomb) (May’11): directly transfer content from USB devices
• 3.2 (Honeycomb) (July’11): adds several new capabilities for users and developer
(e.g., providing developers with more precise control over the UI)
• 4.0 (Ice Cream Sandwich) (Oct’11): combination of Gingerbread and Honeycomb
• 4.1-4.3 (Jelly Bean) (Jul’12): improve user interface (4.1), Bluetooth Low Energy
http://en.wikipedia.org/wiki/Android_version_history
support (4.3)
Page 48

Fall 2013

CS 495/595 - App Development for Smart Devices

Features and Specifications I
• Platform is adaptable to larger, VGA, 2D graphics library, 3D OpenGL
graphics library
• Storage - SQLite, a lightweight relational database
• Connectivity - supports connectivity technologies including GSM/
EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and
WiMAX.
• Messaging – SMS, MMS, threaded text messaging, Push Messaging
service.
• Multiple language support
• Web browser - based on the open-source WebKit layout engine,
coupled with Chrome's V8 JavaScript engine.
• Java support – no Java Virtual Machine, Dalvik executables and run on
Dalvik

Page 49

Fall 2013

CS 495/595 - App Development for Smart Devices

Features and Specifications II
• Media support - audio/video/still media formats: WebM, H.263, H.264,
MPEG-4 SP, WAV, JPEG, PNG, GIF, BMP, etc.
• Streaming media support - RTP/RTSP streaming (3GPP PSS, ISMA),
HTML5 

Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
Linearized                      : No
Page Count                      : 81
PDF Version                     : 1.4
Author                          : Tamer Nadeem
Producer                        : Mac OS X 10.8.4 Quartz PDFContext
Creator                         : PowerPoint
Create Date                     : 2013:08:26 22:31:01Z
Modify Date                     : 2013:08:26 22:31:01Z
EXIF Metadata provided by EXIF.tools

Navigation menu