290 likes | 423 Views
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/27/10. Today’s Agenda. Events of the week
E N D
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/27/10
Today’s Agenda • Events of the week • Announcements / Infrastructure Updates • ELEC / COMP 694 • Android • Next Week • Feature Test App due by 11/03/2010 (Assignment 9) COMP 446 / ELEC 446 - Week 10
Events of the Week • What WiFi Direct is and is not • FCC crunches numbers on spectrum crisis • Electronic Arts to acquire Angry Birds publisher • Goodbye Walkman, thanks for the iPod • Some networks blocking shows on Google TV • Meet the HP Slate 500 • Amazon wins fight to keep customer records private • Hybrid hard-disk market set to take off • Apple, Google, Microsoft Job Applicants Tell All • First Windows Phone 7 reviews • Android Market tops 100,000 applications • AT&T activates 5.2 million iPhones in 3rd quarter • iPhone passcode lock bypass vulnerability (again) • Spotted: White iPhone 4 listed in Apple Store app update COMP 446 / ELEC 446 - Week 10
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 10
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 10
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 10
ELEC / COMP 694 – Spring 2011Future Personal Computing Technology • How to be a Chief Technology Officer • Wednesdays 9:30 – 11:00, 3CR • Each student gets to pick a personal computing technology topic which they will learn over a 5 or 6 week period • Weekly one-on-one meetings to rapidly learn topic • Session with presentation expert • Student presents topic to the class • Course gets very high ratings based on unique approach and current topics. • Desired class size of 10. Hard limit of 11. COMP 446 / ELEC 446 - Week 10
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 10
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 10
Final Project Teams • Augmented Reality Geocaching • Rick Manning • Hey Rice! For Android • Jesus Cortez • Augmented Reality Minesweeper • Elliot Ng • Extreme Bop-It! • Jason Xu • MyGroup • 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 10
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 10
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 10
11/10/10 AAPL vs. GOOG vs. MSFT • Group discussion on fate of cellphone makers • 4 Groups – picked by random number • Apple – iPhone / iPad / iOS anything • Google – Android • Microsoft – Windows Phone 7 • HP/Palm, RIM, Nokia • Participate in 20 minute debate as to where your company will be in 5 years • Have a few compelling reasons why you will succeed and some rebuttal as to why you will fail. COMP 446 / ELEC 446 - Week 10
11/10/10 Teams (as randomly picked by prospective Rice student) • Apple • Julia Botev • Catherine Elder • Jin Kin • Rick Manning • Robyn Moscowitz • Google • Jash Guo • Josh Rykowski • Ivan Van • Jason Xu • Henry Zhang • Microsoft • Sid Byrd • Eric Cheng • Marcos Hung • Michael Lo • Jeff Yeh • Aron Yu • RIM/Palm/Nokia • Jesus Cortez • Graham De Witt • Ashley Herron • Vic Hu • Kevin Lin • Elliot Ng COMP 446 / ELEC 446 - Week 10
Android COMP 446 / ELEC 446 - Week 10
Scope of This Presentation • Overview of basic Android system • Not meant to teach you how to program for the Android • Much material as subjective as objective • Great resources at: • http://developer.android.com • Videos at http://developer.android.com/videos/index.html • CalPoly course at http://users.csc.calpoly.edu/~djanzen/courses/409W10/ • Professional Android 2 Application Development • Reto Meier, Amazon.com, ISBN 978-0-470-56552-0 COMP 446 / ELEC 446 - Week 10
Most Viable Competition to iPhone • Growth rates exceeding that of iOS • Market Place surpassing 100,000 apps • Supported by all major carriers • Broad based competition • Quality products COMP 446 / ELEC 446 - Week 10
Major Philosophies • Open Environment • Open App Store • Multiple Hardware Manufactures • Multiple Carriers • No licensing, distribution or development fees • No release approval process COMP 446 / ELEC 446 - Week 10
Major Modules • Hardware Reference Design • A Linux kernel (bios, memory mgnt, process control) • Open libraries for SQLite, WebKit, OpenGL, etc • Dalvik virtual machine to host Android apps • Application framework agnostically exposing services • User interface framework to host and launch apps • Base set of preinstalled apps • A Software Development Kit • An App Store (but since open, talk of multiple) COMP 446 / ELEC 446 - Week 10
Native Android Apps • E-mail client • SMS management App • PIM suite including calendar and contacts • WebKit based web browser • Music player and picture gallery • A camera and video recording app • Calculator • Alarm Clock COMP 446 / ELEC 446 - Week 10
Common Bundled Apps • Android Market Client • Google Maps with turn by turn directions • Gmail client • Google Talk instant-messaging client • YouTube video player • Manufacture and carrier specific apps • HTC Sense UI • Motorola MotoBlur • Samsung Fascinate / HTC Merge with Bing COMP 446 / ELEC 446 - Week 10
Open Handset Alliance • Not Linux Phone Standards Forum • Over 50 technology companies • Hardware manufacturers • Carriers • Software developers • That said – Google is the 800 pound gorilla • Openness among strong players leading to forked development would have issues COMP 446 / ELEC 446 - Week 10
Unique Features • Expanded Google Maps • More universal background services • More extensive sharing of data between apps • Equal playing field between app types • Home Screen widgets, live folders / wallpaper COMP 446 / ELEC 446 - Week 10
Development Framework (SDK) • Android API libraries • Development Tools • Eclipse plug-in • Java Development Kit • Emulators • Dalvik Debugger • Android Virtual Device Manager and Emulator • Documentation and Sample Code • Online Support • http://developer.android.com • http://www.stackoverflow.com COMP 446 / ELEC 446 - Week 10
Android Software Stack COMP 446 / ELEC 446 - Week 10
Videos COMP 446 / ELEC 446 - Week 10
Videos COMP 446 / ELEC 446 - Week 10
Demo COMP 446 / ELEC 446 - Week 10
Week 11 • Assignments • At this point, videos are optional but useful particularly if your final project will utilize feature discussed in video • View CS193P Lecture 17. Bonjour, NSStream, GameKit • View CS193P Lecture 18. Unit Testing; Fun with Objective-C; Localization • Assignment 9: Advanced Feature App • Application of your choice demonstrating a difficult feature of your application. • Classroom Technology: Windows Phone 7 COMP 446 / ELEC 446 - Week 10