Wednesday 2 4 kh 105
This presentation is the property of its rightful owner.
Sponsored Links
1 / 36

Wednesday 2-4, KH 105 PowerPoint PPT Presentation


  • 68 Views
  • Uploaded on
  • Presentation posted in: General

Wednesday 2-4, KH 105. COMP 446 / ELEC 446 Mobile Wireless Services Project. Scott Cutler Professor in the Practice of Computer Technology Department of Computer Science Department of Electrical and Computer Engineering [email protected] 10/20/10. Today’s Agenda. Events of the week

Download Presentation

Wednesday 2-4, KH 105

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Wednesday 2 4 kh 105

Wednesday 2-4, KH 105

COMP 446 / ELEC 446

Mobile Wireless Services Project

Scott Cutler

Professor in the Practice of Computer Technology

Department of Computer Science

Department of Electrical and Computer Engineering

[email protected]

10/20/10


Today s agenda

Today’s Agenda

  • Events of the week

  • Announcements / Infrastructure Updates

  • Final Projects

    • Approved projects by 10/19/2010

      • (Assignment 7 – Handled through Final Project page)

    • Detailed specification by 10/26/2010 (Assignment 8)

    • Your Advanced Feature App by 11/02/2010 (Assignment 9)

  • iPad / iOS 4

  • Next Week

    • Detailed specification due by 10/27/2010 (Assignment 8)

COMP 446 / ELEC 446 - Week 9


Events of the week

Events of the Week

  • Microsoft, Facebook unveil deeper social search on Bing

  • Apple now third-largest PC seller in U.S.

  • Google posts strong Q3 financial results

  • Apple Awarded Patents for Multitouch, Text Censoring

  • Ray Ozzie hangs up his Chief Software Architect hat

  • Apple's Q4'10 financials - All-time record revenue and earnings

  • HP debuts Palm Pre 2; room for four in the smartphone market?

COMP 446 / ELEC 446 - Week 9


Current roster

Current Roster

  • Julia Botev

    • COMP, SR, [email protected]

  • Eric Cheng

    • COMP, GR [email protected]

  • Jesus Cortez

    • COMP, JR, Jones [email protected]

  • Graham De Wit

    • ELEC, SR, [email protected]

  • Ashley Herron

    • ELEC, SR, Martel [email protected]

  • Vic Hu

    • ELEC, SR, [email protected]

  • Marcos Hung

    • BIOE, GR [email protected]

COMP 446 / ELEC 446 - Week 9


Current roster 2

Current Roster (2)

  • Jin Kim

    • COMP, GR [email protected]

  • Kevin Lin

    • COMP, SO, [email protected]

  • Robyn Moscowitz

    • COMP, JR, [email protected]

  • Josh Rykowski

    • COMP, GR [email protected]

  • Ivan Van

    • COMP, SR, Will Rice, [email protected]

  • Jeff Yeh

    • ELEC, SR, [email protected]

  • Aron Yu

    • ELEC, SR, [email protected]

COMP 446 / ELEC 446 - Week 9


Current roster 3

Current Roster (3)

  • Michael Lo

    • ELEC, GR [email protected]

  • Elliot Ng

    • ELEC, GR [email protected]

  • Rick Manning

    • COMP, SR, Jones [email protected]

  • Henry Zhang

    • ELEC, SR, Jones [email protected]

  • Jason Xu

    • ELEC, SR, Brown [email protected]

  • Catherine Elder

    • ELEC, SR, [email protected]

  • Sid Byrd

    • Staff [email protected]

  • Xiang ‘Jash’ Guo

    • ELEC, GR [email protected]

COMP 446 / ELEC 446 - Week 9


Comp 446 syllabus

COMP 446 Syllabus

  • 8/25/10Introduction / What makes mobile apps special

    • Assignment:Load Visual Studio – Due 8/30/10, Access a Mac, Download CS193P materials

  • 9/1/10Intro to Mac OS X and Cocoa Touch, Objective-C, Dev Tools, Using Objective-C, Foundation framework

    • Videos:Lecture 1. Introduction to Mac OS X, Cocoa Touch, Objective-C and Tools (January 5, 2010) Lecture 2. Objective-C and Foundation Framework (January 7, 2010)

    • Assignment: Hello Rice [1a] and WhatATool 1 [1b] (Due 9/7/10)

  • 9/8/10 Discussion of first applications

    • Videos:Lecture 3. Custom Classes, Object Lifecycle, Autorelease, Objective-C Properties (January 12, 2010)Lecture 4. Building an Application; Model, View, Controller; Nib Files; Controls and Target-Action (January 14, 2010)Lecture 4a Xcode, Finding Help, Debugging (January 15, 2010)

    • Assignment: WhatATool 2 [2a] and HelloPoly I [2b] (Due 9/14/10)

  • 9/15/10 ASP.Net with a little HTML

    • Videos:Lecture 5. Views, Drawing, and Animation (January 19, 2010)Lecture 6. Designing iPhone Applications, Model-View-Controller, View Controllers (January 21, 2010)

    • Assignment: HelloPoly II [3] (Due 9/21/10)

  • 9/22/10 iPhone (pseudo) Web Apps / Browser Capabilities

    • Videos:Lecture 7. Navigation & Tab Bar Controllers (January 26, 2010)Lecture 8. Scroll Views and Table Views (January 28, 2010)

    • Assignment: Time to catch up or move ahead.

  • 9/29/10SQL 101

    • Videos:Lecture 9. Data in Your iPhone App (February 2, 2010)-Lecture 10. Performance (February 4, 2010)

    • Assignment: Paparazzi 1 (Due 10/5/10)

  • 10/6/10Creating and Consuming Web Services

    • Videos:Lecture 11. Text Input and Presenting Content Modally (February 9, 2010)Lecture 12. Web Views; Locations and Maps (February 11, 2010)

    • Assignment: Paparazzi 2a (Table View Portion) (Due 10/13/10)Create or join final project by 10/13/10

COMP 446 / ELEC 446 - Week 9


Comp 446 syllabus1

COMP 446 Syllabus

  • 10/13/10Final Project discussion and Pairing

    • Videos:Lecture 13. Address Book: Putting People in Your App (February 16, 2010)Lecture 14. Touch Events & Multi-touch (February 18, 2010)Lecture 12a: Designing for the iPad (February 12, 2010)Assignment: Final Project Proposal and Paparazzi 2b (Both due 10/19/10 )Note: Paparazzi 3 is now an extra credit assignment.

  • 10/20/10 iPad Development / iOS4

    • Videos:Lecture 15. iPhone Device APIs; Location, Accelerometer & Camera; Battery Life & Power Management (February 23, 2010)Lecture 16. Audio APIs, Video Playback, Settings (February 25, 2010)

    • Assignment: Final Project, Stage 1 (Due 10/26/10)

  • 10/27/10Android

    • Videos:Lecture 17. Bonjour, NSStream, GameKit (March 2, 2010)Lecture 18. Unit Testing; Fun with Objective-C; Localization (March 4, 2010)

    • Assignment: Advanced Feature App or iPad Application (Due 11/02/10)

  • 11/3/10Windows Phone 7, Final Project Prep

    • Videos:Lecture 19. OpenGL ES Basics (March 9, 2010)Lecture 20. From Student to Startup: Lessons from a CS193P Alumnus (March 11, 2010)

    • Assignment:Final Project, Stage 2 (Due 11/09/2010)

  • 11/10/10iPhone v. Android v. Windows Phone 7 group discussion

    • Videos:Yelp Monocle (February 6, 2010) Evernote(February 19, 2010)Bump (February 26, 2010)

    • Assignment:Final Project, Stage 3 (Due 11/16/2010)

  • 11/17/10Final Project Prep

    • Videos:Publishing on the App Store (March 5, 2010)LinkedIn: Important Life Lessons on CoreData & GameKit (March 12, 2010)

    • Assignment:Final Project (Due 12/01/2010)

  • 11/24/10Thanksgiving – Continue Final Projects on your own

  • 12/1/10Demonstrate Final Projects

  • 12/5/10Class Offsite – Sunday (tentative)

COMP 446 / ELEC 446 - Week 9


Memory management again

Memory Management (again)

  • Random Crashes?

    • Likely Culprit is over-releasing an object generating a reference to bad memory

  • Objects created with alloc/init, copy or new typically come with a retain count of 1.

    • You have to release them when finished

  • Objects created through ‘Convenience Methods’ come auto-released.

    • You need to retain them if you want them valid in the future.

    • You should NOT release an autoreleased object as it will take the retain count to 0 and dealloc while still in use.

COMP 446 / ELEC 446 - Week 9


Paparazzi 2b and coredata

Paparazzi 2b and CoreData

  • Questions?

  • Universal FlickrFetcher

  • Dot syntax

  • Remember to save changes

COMP 446 / ELEC 446 - Week 9


Addressing homework load

Addressing Homework Load

  • Register yourself to a final project by next class, 10/13 – big negative if you do not!

  • Break Paparazzi 2 into two assignments.

    • Implement Table Views by 10/12

    • Implement Core Data by 10/19

      • For next week, OK to use static arrays for photos and fake objectAtIndexPath routine

      • For CoreData Model, OK to use single entity although not as good as relational model and required for A+

  • Paparazzi 3 is optional assignment

    • Necessary but not sufficient for grade of A+

COMP 446 / ELEC 446 - Week 9


Final projects

Final Projects

  • Everyone successfully associated with a final project

  • Need to ensure that each person is responsible for at least two smartphone advanced features – at least one of them significant

  • I need to know which features for which you will be responsible. It is a section of the full specification that is due before 10/27/10 class.

COMP 446 / ELEC 446 - Week 9


Iphone advanced features

iPhone Advanced Features

  • Address Book

  • Bluetooth

  • Compass (3Gs)

  • Custom Animations

  • Gestures (Shake is a Gesture)

  • GPS

  • Integrated Email

  • Integrated Movie Camera (3Gs)

  • Image Picker

  • Integrated Still Camera

  • Integrated Web Browser

  • Internet

  • Microphone

  • OpenAL

  • OpenGL

  • Playing Movies

  • Proximity Sensor

  • Rotation sensor

  • Multitasking

  • Local Notifications

  • Core Motion

  • iAd

  • High-Resolution Screen

  • Game Center

COMP 446 / ELEC 446 - Week 9


Final project teams

Final Project Teams

  • Augmented Reality Geocaching

    • Rick Manning

  • Hey Rice! For Android

    • Jesus Cortez

  • Augmented Reality Minesweeper

    • Elliot Ng

  • Extreme Bop-It!

    • Jason Xu

  • First Person Shooter-CDRL

    • Kevin Lin

  • Podman

    • Sid Byrd

  • Virtual Tour Guide – Rice Campus

    • Jin Kim, Jash Guo

  • My Personal Library

    • Ashley Herron, Henry Zhang

  • Photomap – Android

    • Eric Cheng, Michael Lo

  • FeetKeep/imolast

    • Vic Hu, Marcos Hung

  • Polytone!

    • Julia Botev, Robyn Moscowitz

  • OBDPhone

    • Graham De Witt, Josh Rykowski

  • Mahjong – iPhone

    • Catherine Elder, Ivan Van

  • Mahjong – iPad

    • Jeff Yeh, Aron Yu

COMP 446 / ELEC 446 - Week 9


Final project timeline

Final Project Timeline

  • 10/13Projects Identified, Teams Chosen

  • 10/20Project proposals approved

  • 10/27Detail Specification / User Manual

  • 11/3Sample app demonstrating feature

  • 11/10Status updatesApple / Google / Microsoft discussion

  • 11/17Individual Team Reviews

  • 11/24No or optional class – Thanksgiving

  • 12/1Demonstrate working program

  • 12/8(or class finals day) – submit code

COMP 446 / ELEC 446 - Week 9


Detailed specification user manual

Detailed Specification / User Manual

  • Series of sample screen shots

    • Suggest creating in IB

    • Crude graphics OK

    • Photo manipulation OK

  • User Manual

    • Typical scenario walkthrough OR

    • Standard manual format documenting function of buttons and displays

  • Includes list of features and responsible person

COMP 446 / ELEC 446 - Week 9


Wednesday 2 4 kh 105

iPad

COMP 446 / ELEC 446 - Week 9


Wednesday 2 4 kh 105

iPad

  • Introduced new iOS form factor

  • Amazing response – 1.5m units / month

    • Devastating notebook PC sales

    • Created new PC category

    • Industry scrambling to compete

  • Came with iOS 3.2 which adds features appropriate to new form factor and in addition to 3.1 base of Winter 2010 CS193p class

  • http://developer.apple.com/library/ios/documentation/General/Conceptual/iPadProgrammingGuide/iPadProgrammingGuide.pdf

COMP 446 / ELEC 446 - Week 9


Features new to ios 3 2

Features New to iOS 3.2

  • Split Views

  • Popovers

  • Modally presented controllers

  • Toolbar location

  • Custom input views (specialized keyboards)

  • Improved Gesture Recognizers

  • Greater support of external devices

  • Enhancements to how text is handled

  • Native PDF creation

  • File Associations

  • Drawing Shapes Using Bezier Paths

  • iPad Only

COMP 446 / ELEC 446 - Week 9


Split views

Split Views

COMP 446 / ELEC 446 - Week 9


Split view orientation

Split View Orientation

COMP 446 / ELEC 446 - Week 9


Split view landscape

Split View Landscape

COMP 446 / ELEC 446 - Week 9


Popovers

Popovers

COMP 446 / ELEC 446 - Week 9


Modally presented controllers

Modally Presented Controllers

COMP 446 / ELEC 446 - Week 9


Modally presented controllers1

Modally Presented Controllers

COMP 446 / ELEC 446 - Week 9


Modally presented controllers2

Modally Presented Controllers

COMP 446 / ELEC 446 - Week 9


Toolbar location

Toolbar Location

COMP 446 / ELEC 446 - Week 9


Improved gesture recognizers

Improved Gesture Recognizers

COMP 446 / ELEC 446 - Week 9


Greater support of external devices

Greater Support of External Devices

  • Support for external keyboard

  • Support for external display

    • 1280 x 720p (16:9)

    • 1024 x 768 (4:3)

  • Related: Videos can now play in other than full screen

COMP 446 / ELEC 446 - Week 9


Text enhancements

Text Enhancements

  • The Core Text framework provides support for sophisticated text rendering and layout.

  • The UIKit framework includes several enhancements to support text, including:

    • New protocols that allow your own custom views to receive input from the system keyboard

    • A new UITextChecker class to manage spell checking

    • Support for adding custom commands to the editing menu that is managed by the UIMenuControllerclass

  • Core Animation now includes the CATextLayer class, which you can use to display text in a layer.

  • Custom Input Views and Input Accessory Views

COMP 446 / ELEC 446 - Week 9


Native pdf

Native PDF

  • Natural extension to current drawing methods

  • Create a drawing context, but this time it is a PDF context.

  • Draw in context using normal UIKit and Core Graphics routines.

  • When you close the context, you have a PDF document.

COMP 446 / ELEC 446 - Week 9


File associations

File Associations

  • Useful to allow app to act as a receiver for a certain file type

COMP 446 / ELEC 446 - Week 9


Drawing shapes using bezier paths

Drawing Shapes Using Bezier Paths

COMP 446 / ELEC 446 - Week 9


Ios 4 x

iOS 4.x

COMP 446 / ELEC 446 - Week 9


Three major releases

Three Major Releases

iOS 4.0 (iPhone)

  • Multitasking

  • Local notifications

  • Event Kit (Calendar)

  • Core Motion

  • Data Protection

  • Core Telephony

  • iAd

  • High-Res Screen

  • AV Foundation

  • Home Folders

  • iOS 3.2 for iPhone

iOS 4.1 (iPhone)

  • Game Center

  • Minor changes

  • Security changes

iOS 4.2 (iPhone/iPad)

  • Adds iPad to iOS 4

  • AirPrint

  • CoreMIDI

COMP 446 / ELEC 446 - Week 9


Week 10

Week 10

  • Assignments

    • At this point, videos are optional but useful particularly if your final project will utilize feature discussed in video

      • View CS193P Lecture 15. iPhone Device APIs; Location, Accelerometer & Camera; Battery Life & Power Management

      • View CS193P Lecture 16. Audio APIs, Video Playback, Settings

    • Assignment 8: Final Project Specification (Due before 10/27/10 class)

  • Classroom Technology: Android

COMP 446 / ELEC 446 - Week 9


  • Login