Presentation on theme: "PROG 38448 Mobile Java Application Development PROG 38448 Mobile Java Application Development Course Introduction & Overview Software Install Demonstrations."— Presentation transcript:
PROG Mobile Java Application Development PROG Mobile Java Application Development Course Introduction & Overview Software Install Demonstrations
5/7/2015Wendi Jollymore, ACES2 Professor Information Wendi Jollymore Ext Office: S401 (top of stairs near Second Cup) Social Networking: Pthhh :P
5/7/2015Wendi Jollymore, ACES3 Office Hours Office: S401 Hours: Monday 11am to 2pm Tuesday 1pm to 3pm Wednesday 12pm to 2pm Friday 9am to 11am
5/7/2015Wendi Jollymore, ACES4 About PROG Course Outline Course Coverage: IDEs Mobile device guidelines and best practices UI Design and Development Threads, Background Apps Networked Apps Data Storage Other stuff
5/7/2015Wendi Jollymore, ACES5 Course Evaluation In-Class Exercises or Quizzes25% Take-home Assignments20% Mid Term Test25% Final Exam30% Total100% You must have an average of 50% on both exams in order to pass this course!
5/7/2015Wendi Jollymore, ACES6 Required Resources SLATE: some RIM Materials Textbooks in PDF format Books24x7 books, specifically Beginning BlackBerry Development by Anthony Rizk ISBN: BlackBerry Developer’s Zone
5/7/2015Wendi Jollymore, ACES7 Software Required Eclipse with BlackBerry plug-in BlackBerry JDE (various versions) BlackBerry and MDS Services Simulator Maybe some other stuff later in the course e.g. SqlLite, additional BB simulators, etc
5/7/2015Wendi Jollymore, ACES8 Questions? Any questions so far?
5/7/2015Wendi Jollymore, ACES9 Developing 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
5/7/2015Wendi Jollymore, ACES10 Developing for Mobile Devices Exercise 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.
5/7/2015Wendi Jollymore, ACES11 Developing for Mobile Devices Exercise 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.
5/7/2015Wendi Jollymore, ACES12 Developing for Mobile Devices Exercise 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.
5/7/2015Wendi Jollymore, ACES13 Developing for Mobile Devices Resources: Methods of App Development (RIM) See SLATE/Learning Modules/Introduction/Lesson 1/Introduction to Developing Mobile applications for these resources
5/7/2015Wendi Jollymore, ACES14 Developing for Mobile Devices Exercise 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.
5/7/2015Wendi Jollymore, ACES16 Developing for Mobile Devices Exercise 2.1, continued: Widgets Single-purpose apps developed with web technologies Run as an application in its own instance of a web browser so it looks like a regular app Can be stand-alone app or can be connected to Internet. Example: foodnetwork.ca app
5/7/2015Wendi Jollymore, ACES17 Developing for Mobile Devices Exercise 2.2: Java Apps, Advantages: Flexibility re style, function, appearance Can take advantage of existing device features (maps, media player, contacts) Can communicate with peripheral devices via Bluetooth easily (standardized) Anytime access – app resides on device Access to location-based services. Can use background threads/processes. Some require no bandwidth, or can develop a “push” app to minimize bandwidth
5/7/2015Wendi Jollymore, ACES18 Developing for Mobile Devices Exercise 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 features Limited local storage. You need to develop different application versions for a variety of different devices.
5/7/2015Wendi Jollymore, ACES19 Developing for Mobile Devices Exercise 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 app and don’t have to build these Access to web signals als/ Version control – just update the one version on the content server Can detect device type and capabilities
5/7/2015Wendi Jollymore, ACES20 Developing 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.
5/7/2015Wendi Jollymore, ACES21 Developing 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 services Use less bandwidth – send/rec’v smaller amounts of data Can use existing content already created from web app or from content server
5/7/2015Wendi Jollymore, ACES22 Developing for Mobile Devices Exercise 2.2, continued: Widgets, Disadvantages: Similar to disadvantages of web apps: Less flexibility Reliance on Internet connection Not suitable for larger, more complex tasks
5/7/2015Wendi Jollymore, ACES23 Demonstration Your obligatory Hello, World! program See the notes
5/7/2015Wendi Jollymore, ACES24 Assignment 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