1 / 36

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 cutler@rice.edu 10/20/10. Today’s Agenda. Events of the week

darcie
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 cutler@rice.edu 10/20/10

  2. 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

  3. 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

  4. Current Roster • Julia Botev • COMP, SR, McMurtryJulia.K.Botev@rice.edu • Eric Cheng • COMP, GR eric.cheng@rice.edu • Jesus Cortez • COMP, JR, Jones JesusCortez@rice.edu • Graham De Wit • ELEC, SR, Wiessgraham.dewit@rice.edu • Ashley Herron • ELEC, SR, Martel Ashley.N.Herron@rice.edu • Vic Hu • ELEC, SR, Wiessmrwho@rice.edu • Marcos Hung • BIOE, GR Marcos.G.Hung@rice.edu COMP 446 / ELEC 446 - Week 9

  5. Current Roster (2) • Jin Kim • COMP, GR Kyujin.Kim@rice.edu • Kevin Lin • COMP, SO, McMurtryKevin.S.Lin@rice.edu • Robyn Moscowitz • COMP, JR, McMurtryRobyn.A.Moscowitz@rice.edu • Josh Rykowski • COMP, GR Joshua.Rykowski@rice.edu • Ivan Van • COMP, SR, Will Rice, i.van@rice.edu • Jeff Yeh • ELEC, SR, Hanszenjeff.yeh@rice.edu • Aron Yu • ELEC, SR, HanszenAron.Yu@rice.edu COMP 446 / ELEC 446 - Week 9

  6. Current Roster (3) • Michael Lo • ELEC, GR mlo@rice.edu • Elliot Ng • ELEC, GR elliottng@rice.edu • Rick Manning • COMP, SR, Jones rick.manning@rice.edu • Henry Zhang • ELEC, SR, Jones qz1@rice.edu • Jason Xu • ELEC, SR, Brown jax1@rice.edu • Catherine Elder • ELEC, SR, Hanszencje1@rice.edu • Sid Byrd • Staff sidb@rice.edu • Xiang ‘Jash’ Guo • ELEC, GR xg1@rice.edu COMP 446 / ELEC 446 - Week 9

  7. COMP 446 Syllabus • 8/25/10 Introduction / What makes mobile apps special • Assignment: Load Visual Studio – Due 8/30/10, Access a Mac, Download CS193P materials • 9/1/10 Intro 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/10 SQL 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

  8. 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/10 Android • 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/10 Windows 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/10 iPhone 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/10 Final 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/10 Thanksgiving – Continue Final Projects on your own • 12/1/10 Demonstrate Final Projects • 12/5/10 Class Offsite – Sunday (tentative) COMP 446 / ELEC 446 - Week 9

  9. 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

  10. Paparazzi 2b and CoreData • Questions? • Universal FlickrFetcher • Dot syntax • Remember to save changes COMP 446 / ELEC 446 - Week 9

  11. 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

  12. 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

  13. 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

  14. 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

  15. Final Project Timeline • 10/13 Projects Identified, Teams Chosen • 10/20 Project proposals approved • 10/27 Detail Specification / User Manual • 11/3 Sample app demonstrating feature • 11/10 Status updates Apple / Google / Microsoft discussion • 11/17 Individual Team Reviews • 11/24 No or optional class – Thanksgiving • 12/1 Demonstrate working program • 12/8 (or class finals day) – submit code COMP 446 / ELEC 446 - Week 9

  16. 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

  17. iPad COMP 446 / ELEC 446 - Week 9

  18. 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

  19. 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

  20. Split Views COMP 446 / ELEC 446 - Week 9

  21. Split View Orientation COMP 446 / ELEC 446 - Week 9

  22. Split View Landscape COMP 446 / ELEC 446 - Week 9

  23. Popovers COMP 446 / ELEC 446 - Week 9

  24. Modally Presented Controllers COMP 446 / ELEC 446 - Week 9

  25. Modally Presented Controllers COMP 446 / ELEC 446 - Week 9

  26. Modally Presented Controllers COMP 446 / ELEC 446 - Week 9

  27. Toolbar Location COMP 446 / ELEC 446 - Week 9

  28. Improved Gesture Recognizers COMP 446 / ELEC 446 - Week 9

  29. 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

  30. 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

  31. 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

  32. File Associations • Useful to allow app to act as a receiver for a certain file type COMP 446 / ELEC 446 - Week 9

  33. Drawing Shapes Using Bezier Paths COMP 446 / ELEC 446 - Week 9

  34. iOS 4.x COMP 446 / ELEC 446 - Week 9

  35. 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

  36. 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

More Related