PROG 38448
Mobile Java Application Development
PROG 38448
Mobile Java Application Development
Course Introduction & Overview
Software Install
Demonstrations
04/18/23 Wendi Jollymore, ACES 2
Professor InformationProfessor Information
Wendi [email protected]. 8797Office: S401
(top of stairs near Second Cup)Social Networking:
Pthhh :P
04/18/23 Wendi Jollymore, ACES 3
Office HoursOffice Hours
Office: S401Hours:
Monday11am to 2pm
Tuesday1pm to 3pm
Wednesday12pm to 2pm
Friday9am to 11am
04/18/23 Wendi Jollymore, ACES 4
About PROG 38448About PROG 38448
Course OutlineCourse Coverage:
IDEsMobile device guidelines and best practicesUI Design and DevelopmentThreads, Background AppsNetworked AppsData StorageOther stuff
04/18/23 Wendi Jollymore, ACES 5
Course EvaluationCourse Evaluation
In-Class Exercises or Quizzes 25%
Take-home Assignments 20%
Mid Term Test 25%
Final Exam 30%
Total 100%
You must have an average of 50% onboth exams in order to pass this course!You must have an average of 50% on
both exams in order to pass this course!
04/18/23 Wendi Jollymore, ACES 6
Required ResourcesRequired Resources
SLATE: some RIM MaterialsTextbooks in PDF format
Books24x7 books, specificallyBeginning BlackBerry Development by Anthony RizkISBN: 9781430272250
BlackBerry Developer’s Zonehttp://us.blackberry.com/developers/
04/18/23 Wendi Jollymore, ACES 7
Software RequiredSoftware Required
Eclipse with BlackBerry plug-inBlackBerry JDE (various versions)BlackBerry Email and MDS Services SimulatorMaybe some other stuff later in the course e.g. SqlLite, additional BB simulators, etc
04/18/23 Wendi Jollymore, ACES 8
Questions?Questions?
Any questions so far?
04/18/23 Wendi Jollymore, ACES 9
Developing for Mobile DevicesDeveloping for Mobile Devices
Resources: Intro to Developing Apps (RIM)
See today’s lesson:Introduction to Developing Mobile applications
Book 1 - Intro to Mobile Application Development - Module 01 Intro to Developing Applications
04/18/23 Wendi Jollymore, ACES 10
Developing for Mobile DevicesDeveloping for Mobile DevicesExercise 1
to be done in groups, with discussion following:1. Identify and describe the differences between mobile applications and typical desktop applications. 2. Identify and describe a user's needs and expectations of mobile applications.
04/18/23 Wendi Jollymore, ACES 11
Developing for Mobile DevicesDeveloping for Mobile DevicesExercise 1.1:
Mobile devices are MOBILE! Desktops are not!Mobile devices have smaller storage capacity than desktops.Mobile devices have lower memory capacity than desktops.Limited power on mobile devices; desktops can run continuously without worrying about power and can run power-intensive apps.Smaller and varying screen size on mobile apps.Mobile apps – different input methods; desktops = touch-typing.Desktops can display multiple app screens at the same time; mobile apps display only a single app screen at a time.Mobile devices use wireless, so slower data transfer rates and less reliable.
04/18/23 Wendi Jollymore, ACES 12
Developing for Mobile DevicesDeveloping for Mobile DevicesExercise 1.2:
Users want time-sensitive information quickly (60 second rule).Users want only the most relevant information – only the options/info most relevant to the current task. Simple and easy-to-use, consistent.
04/18/23 Wendi Jollymore, ACES 13
Developing for Mobile DevicesDeveloping for Mobile DevicesResources:
Methods of App Development (RIM)
See SLATE/Learning Modules/Introduction/Lesson 1/Introduction to Developing Mobile applications for these resources
04/18/23 Wendi Jollymore, ACES 14
Developing for Mobile DevicesDeveloping for Mobile DevicesExercise 2
to be done in groups, with discussion following:1. Define the three types of mobile applications. 2. Describe the advantages and disadvantages of each method of mobile application development.
04/18/23 Wendi Jollymore, ACES 15
Developing for Mobile DevicesDeveloping for Mobile DevicesExercise 2.1:
Java ApplicationsJava MEReside and run on mobile deviceDoesn’t need to access internet after download/installationCan synchronize with apps/data on computer
Web ApplicationsApp resides on content server and is accessed on device with the web browserHTML/XHTML, images, JavaScript, CSS, Ajax, etc.Example: cbc.ca/mobile
04/18/23 Wendi Jollymore, ACES 16
Developing for Mobile DevicesDeveloping for Mobile DevicesExercise 2.1, continued:
WidgetsSingle-purpose apps developed with web technologiesRun as an application in its own instance of a web browser so it looks like a regular appCan be stand-alone app or can be connected to Internet.Example: foodnetwork.ca app
04/18/23 Wendi Jollymore, ACES 17
Developing for Mobile DevicesDeveloping for Mobile DevicesExercise 2.2:
Java Apps, Advantages:Flexibility re style, function, appearanceCan take advantage of existing device features (maps, media player, contacts)Can communicate with peripheral devices via Bluetooth easily (standardized)Anytime access – app resides on deviceAccess to location-based services.Can use background threads/processes.Some require no bandwidth, or can develop a “push” app to minimize bandwidth
04/18/23 Wendi Jollymore, ACES 18
Developing for Mobile DevicesDeveloping for Mobile DevicesExercise 2.2, continued:
Java Apps, Disadvantages:Skill requirements – need to know how to program!No existing framework so you need to figure out how to present your app’s featuresLimited local storage.You need to develop different application versions for a variety of different devices.
04/18/23 Wendi Jollymore, ACES 19
Developing for Mobile DevicesDeveloping for Mobile DevicesExercise 2.2, continued:
Web Apps, Advantages:No issues with storage capacity since everything is stored on content server.
Can work with existing frameworks
e.g. use same connection, compression, encryption as BB email app and don’t have to build these
Access to web signals
http://na.blackberry.com/eng/services/websignals/
Version control – just update the one version on the content server
Can detect device type and capabilities
04/18/23 Wendi Jollymore, ACES 20
Developing for Mobile DevicesDeveloping for Mobile Devices
Exercise 2.2, continued:Web Apps, Disadvantages:
Existing framework can limit creativity.No true background processes – can run web app concurrently with other apps.Must have Internet connection to content server.Uses bandwidth so must avoid large uploads/downloads.
04/18/23 Wendi Jollymore, ACES 21
Developing for Mobile DevicesDeveloping for Mobile Devices
Exercise 2.2, continued:Widgets, Advantages:
Can apply application-like features without knowing programming language
Can use existing web technologies
Features and content specific to user needs, customizable.Can use device features e.g. location based servicesUse less bandwidth – send/rec’v smaller amounts of dataCan use existing content already created from web app or from content server
04/18/23 Wendi Jollymore, ACES 22
Developing for Mobile DevicesDeveloping for Mobile Devices
Exercise 2.2, continued:Widgets, Disadvantages:
Similar to disadvantages of web apps:Less flexibilityReliance on Internet connectionNot suitable for larger, more complex tasks
04/18/23 Wendi Jollymore, ACES 23
DemonstrationDemonstration
Your obligatory Hello, World! program
See the notes
04/18/23 Wendi Jollymore, ACES 24
Assignment 1Assignment 1
Do the Homework at the end of the notes
Read Chapter 2 of Beginning BlackBerry Development and try both sets of walkthroughs
See SLATE/Learning Modules/Introduction/Lesson 1/Homework Assignment for these resources