240 likes | 335 Views
Course Introduction & Overview Software Install Demonstrations. Professor Information. Wendi Jollymore w endi.jollymore@sheridanc.on.ca Ext. 8797 Office: S401 (top of stairs near Second Cup) Social Networking: Pthhh :P. Office Hours. Office: S401 Hours: Monday 11am to 2pm
E N D
Course Introduction & Overview Software Install Demonstrations
Professor Information • Wendi Jollymore • wendi.jollymore@sheridanc.on.ca • Ext. 8797 • Office: S401 • (top of stairs near Second Cup) • Social Networking: • Pthhh :P Wendi Jollymore, ACES
Office Hours • Office: S401 • Hours: • Monday • 11am to 2pm • Tuesday • 1pm to 3pm • Wednesday • 12pm to 2pm • Friday • 9am to 11am Wendi Jollymore, ACES
About PROG 38448 • Course Outline • Course Coverage: • IDEs • Mobile device guidelines and best practices • UI Design and Development • Threads, Background Apps • Networked Apps • Data Storage • Other stuff Wendi Jollymore, ACES
Course Evaluation You must have an average of 50% on both exams in order to pass this course! Wendi Jollymore, ACES
Required Resources • SLATE: some RIM Materials • Textbooks in PDF format • Books24x7 books, specifically • Beginning BlackBerry Development by Anthony RizkISBN: 9781430272250 • BlackBerry Developer’s Zone • http://us.blackberry.com/developers/ Wendi Jollymore, ACES
Software Required • Eclipse with BlackBerry plug-in • BlackBerry JDE (various versions) • BlackBerry Email and MDS Services Simulator • Maybe some other stuff later in the course e.g. SqlLite, additional BB simulators, etc Wendi Jollymore, ACES
Questions? • Any questions so far? Wendi Jollymore, ACES
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 Wendi Jollymore, ACES
Developing for Mobile Devices • Exercise 1 • to be done in groups, with discussion following: • Identify and describe the differences between mobile applications and typical desktop applications. • Identify and describe a user's needs and expectations of mobile applications. Wendi Jollymore, ACES
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. Wendi Jollymore, ACES
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. Wendi Jollymore, ACES
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 Wendi Jollymore, ACES
Developing for Mobile Devices • Exercise 2 • to be done in groups, with discussion following: • Define the three types of mobile applications. • Describe the advantages and disadvantages of each method of mobile application development. Wendi Jollymore, ACES
Developing for Mobile Devices • Exercise 2.1: • Java Applications • Java ME • Reside and run on mobile device • Doesn’t need to access internet after download/installation • Can synchronize with apps/data on computer • Web Applications • App resides on content server and is accessed on device with the web browser • HTML/XHTML, images, JavaScript, CSS, Ajax, etc. • Example: cbc.ca/mobile Wendi Jollymore, ACES
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 Wendi Jollymore, ACES
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 Wendi Jollymore, ACES
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. Wendi Jollymore, ACES
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 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 Wendi Jollymore, ACES
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. Wendi Jollymore, ACES
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 Wendi Jollymore, ACES
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 Wendi Jollymore, ACES
Demonstration • Your obligatory Hello, World! program • See the notes Wendi Jollymore, ACES
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 Wendi Jollymore, ACES