370 likes | 496 Views
Wednesday 2-3:30, DH 1046. COMP 446 / ELEC 446 Mobile Device Applications. Scott Cutler Professor in the Practice of Computer Technology Department of Computer Science Department of Electrical and Computer Engineering cutler@rice.edu 10/24/12. Agenda. Events of the Week HTML 5
E N D
Wednesday 2-3:30, DH 1046 COMP 446 / ELEC 446 Mobile Device Applications Scott Cutler Professor in the Practice of Computer Technology Department of Computer Science Department of Electrical and Computer Engineering cutler@rice.edu 10/24/12
Agenda • Events of the Week • HTML 5 • Final Project Status COMP 446 / ELEC 446 - Week 10
Events of the Week • Microsoft vs. Apple vs. Google (next slide) • $499 Microsoft Surface preorders slip to three weeks • U.S. Galaxy S3 owners, your wait for Android 4.1 is almost over • Apple ordered by U.S. court to reveal iPhone profit margins • Microsoft training staff to explain Windows 8 versus RT • Newsweek to shut down print edition and go all digital • Google stock drops after missing analysts' expectations • LG tapped for the next Google Nexus? • Google offers low-budget ARM-based Chromebook • Gene Frantz, TI Principal Fellow and DSP visionary, to retire in February • T-Mobile said to launch Galaxy Note 2 'phablet' on October 24 COMP 446 / ELEC 446 - Week 10
Events of the Week • Windows Phone 8 Launch Set for Oct. 29 • Windows 8 release date October 26 • Windows 8, Surface Tablet Release Date Set for Oct. 26 • Apple's big 'little' event: Join us now for live blog • Apple trots out 13" MacBook Pro with Retina; upgrades Mac Mini, iMac • Apple event gallery: iPad mini, new hardware unveiled • Apple gets official with iPad mini; upgrades iPad again COMP 446 / ELEC 446 - Week 10
Current Roster • Victor Acuna • Ryan Artecona • Gbenga Badipe • Peter Chang • Joan Chao COMP 446 / ELEC 446 - Week 10
Current Roster (2) • Alex Chiu • Heaven Chen • Lingo Dai • Weibo He • SahilHingorani COMP 446 / ELEC 446 - Week 10
Current Roster (3) • Abdul Nimeri • Bill Robertson • Frank Salinas • Tyler Siegert • Austin Witt • Matthew Zhao COMP 446 / ELEC 446 - Week 10
COMP 446 Syllabus (updated) • Lecture 1 - 8/22/12 - Introduction • Watch before: None • Assignment: #1 - Calculator • Assignment due: Friday, 8/31 6:00 am (Thursday 30:00) • Lecture 2 - 8/29/12 - Assignment 1 issues and questions from videos • Watch before: 1, 2 • Assignment: #2 – Function Calculator • Assignment due: Friday, 9/7 6:00 am (Thursday 30:00) • Lecture 3 - 9/05/12 - Assignment 2 issues and questions from videos • Watch before: 3, 4 (demo part) • Assignment: #3 – Graphing Universal Calculator • Assignment due: Tuesday, 9/18 6:00 am (Monday 30:00) • Lecture 4 - 9/12/12 - Assignment 3 issues and questions from videos • Watch before: 4 (post demo), 5, 6 • Assignment: Continue with #3 – Graphing Universal Calculator • Assignment due: Tuesday, 9/18 6:00 am (Monday 30:00) • Lecture 5 - 9/19/12 - Assignment 3 issues and questions from videos • Watch before: Watch 7 before class, 8 after class • Assignment: #4 – Flickr Top Places • Assignment due: Friday, 10/05 6:00 am (Thursday 30:00) COMP 446 / ELEC 446 - Week 10
COMP 446 Syllabus (updated) • Lecture 6 - 9/26/12 - Assignment 4 technology preview • Watch by 10/3: 8, 9 very beginning of 10 (for Assignment 4) • Assignment: #5 – Flickr Map Places Tasks 3, 4 and 8 are optional for extra credit (required for A+) • Assignment due: Thursday, 10/11 6:00 am (Wednesday 30:00) (10/12 OK) • Lecture 7 - 10/03/12 - Assignment 5 technology preview • Watch before: 8, 9 very beginning of 10 • Assignment: 1: #6 – Flickr Core Data - To be broken into required and optional parts - Optional part required for A+2: Final Project Topic (due before next class) • Assignment due: Friday, 10/19 6:00 am (Thursday 30:00) • Lecture 8 - 10/10/12 - Assignment 6 technology preview and SQL • Watch for #5: 10 (after Tab Bar), 11, 12 • Assignment: Final Project Proposal • Assignment due: Tuesday, 10/23 6:00 am (Monday 30:00) • Lecture 9 - 10/17/12 - iOS6, Server technology • Watch for #6: 13, 14 • Assignment: iOS 6 app • Assignment due: Friday, 10/26 6:00 am (Thursday 30:00) COMP 446 / ELEC 446 - Week 10
COMP 446 Syllabus (updated) • Lecture 10 - 10/24/12 - HTML 5 • Watch before: Optional 15, 16 • Assignment: Major Final Project Feature • Assignment due: Friday, 11/2 6:00 am (Thursday 30:00) • Lecture 11 - 10/31/12 – Android, Windows Phone 8 • Watch before: Optional 17, 18 • Assignment: Continue working on Final Project • Assignment due: Wednesday, 11/28 2:00pm • Lecture 12 - 11/7/12- Android vs. iOS vs. Windows Phone group debate • Assignment: Continue working on Final Project • Assignment due: Wednesday, 11/28 2:00pm • Lecture 13 - 11/14/12 - Individual meetings on Final Project • Assignment: Continue working on Final Project • Assignment due: Wednesday, 11/28 2:00pm • Lecture 14 - 11/21/12 – No class, but continue on final project • Assignment: Continue working on Final Project • Assignment due: Wednesday, 11/28 2:00pm • Lecture 15 - 11/28/12 - Final Presentations • Assignment: Document Final Project • Assignment due: By time assigned for COMP 446 final (there is NO final exam) COMP 446 / ELEC 446 - Week 10
Final Project Timeline New 9/19 9/26 10/03 10/10 10/17 10/24 10/31 11/7 11/14 11/21 11/28 12/5 - #4 10/05 - #5 10/12 - FP Topic 10/10 - #6 10/19 - FP Proposal 10/23 - Major Feature 11/2 - Individual Meetings 11/14 - Final Presentation 11/28 - Documentation due Finals Day COMP 446 / ELEC 446 - Week 10
ELEC / COMP 694 – Spring 2012Future 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
Week 11 • Watch Optional CS193p lectures #17 and #18 • Final Project difficult feature app due next Friday, 11/2 6:00 am • Any test app which shows you understand how to use the most difficult feature of your final project. • Next week’s lecture – Android COMP 446 / ELEC 446 - Week 10
What is coming up in the assignments? • Difficult Feature App 11/02/12 • App of your choice that only needs to demonstrate understanding how to use your difficult feature. Not a complete app. No need for it to be of any use. • Remember that the majority of course grade comes from final project COMP 446 / ELEC 446 - Week 10
iOS 6 COMP 446 / ELEC 446 - Week 10
iOS6 • More of an external, feature upgrade than a significant update to existing code • Many features help integrate with iCloud ands social media. • And of course, there are the new maps • Although the interface is compatible. COMP 446 / ELEC 446 - Week 10
Maps Bring the power of the amazing new Maps engine into your app. With Map Kit, you can automatically take advantage of the beautiful Apple-designed cartography and vector-based interactivity. Users can also discover your routing apps right within Maps. So when users are looking for specific ways to get around, whether by subway, ferry, bike, or walking, Maps will show your app as an option. COMP 446 / ELEC 446 - Week 10
Facebook Give users even more ways to connect and share by adding Facebook support to your app. With single sign-on capability, Facebook sheets, and the new Social framework, users can post status updates to their account seamlessly, and easily share photos with friends, right from your app. COMP 446 / ELEC 446 - Week 10
Passbook Passbook gives users a whole new way to organize boarding passes, tickets, gift cards, and loyalty cards. You can bring up passes in your app with Pass Kit APIs or send them via email or post them on the web. You can set items to appear at certain times or locations and update items with push notifications. COMP 446 / ELEC 446 - Week 10
Game Center Take fun to a whole new level with the latest features in Game Center. Make any game a multiplayer game by turning high scores and achievements into challenges with friends. With Game Groups, you can enable multiplayer games and share leaderboards and achievements across iOS and Mac versions of your app. And now it’s even easier to integrate Game Center features into a single view in your app. COMP 446 / ELEC 446 - Week 10
Reminders Your app can now access and share to-do lists in the Reminders app. With the Event Kit framework, your app can create and modify reminders, assign properties like due dates and priorities, and even set location and time-based alarms. COMP 446 / ELEC 446 - Week 10
Camera Use powerful new features of the built-in camera. New APIs support real-time video stabilization, an improved LED flash, and face detection and display. You can get reports of dropped frames during capture and leverage new utilities to map UI touches to focus and exposure commands. COMP 446 / ELEC 446 - Week 10
In-App Purchase In-App Content Purchasing Enable users to purchase and download apps, music, books, and other iTunes content without ever leaving your app. In-App Hosted Content Host In-App Purchase content on Apple’s servers, so you can easily add, manage, and deliver In-App Purchase content for your app. COMP 446 / ELEC 446 - Week 10
WebKit and Safari Safari continues to support the latest web standards and technologies. New features in Safari on iOS 6 let you create audio for interactive web applications using Web Audio API, use advanced color and pixel effects with CSS filters, and upload videos and images from the Photo Library. COMP 446 / ELEC 446 - Week 10
Xcode 4.5 • Features to help support the increased number of screen resolutions more easily. • Auto Layout • Enhancements to Segue Identifiers COMP 446 / ELEC 446 - Week 10
HTML5 COMP 446 / ELEC 446 - Week 10
History of HTML • 1991 HTML • 1994 HTML 2 • 1996 CSS 1 + JavaScript • 1997 HTML 4 • 1998 CSS 2 • 2005 AJAX • 2009 HTML 5 + CSS 3 COMP 446 / ELEC 446 - Week 10
In the Beginning • HTML started as a static markup language • JavaScript, CSS, HTML evolution and server backends made web pages more alive • But developers wanted full application ability COMP 446 / ELEC 446 - Week 10
Standards – Plenty of Standards • Where HTML had set standards, not everyone followed the standards. • Microsoft’s browser chose to do what most developers wanted – at the expense of following the standard. • While many things were improved, sites which depended on nuances didn’t. • Sites appeared differently based on browser. COMP 446 / ELEC 446 - Week 10
Desire for True Web Apps • Microsoft creates Active-X • Great for a Microsoft world • Security disaster • Flash player adds great functionality and cross platform • But it creates a non-standards based OS inside the browser outside of browser control • Security disaster and performance sink • Microsoft offers Silverlight • Cross platform, high performance • Still a proprietary system within browser COMP 446 / ELEC 446 - Week 10
HTML 5 to the rescue • HTML 4 is 15 years old – and a lot has happened on the web in 15 years • Address most of the features provided by Flash and Silverlight within open web standards. • Supported (in various degrees of readiness) by all major browsers for both desktop and mobile COMP 446 / ELEC 446 - Week 10
Major HTML 5 Features • Canvas • Scalable Vector Graphics • Storage • Drag and Drop • Connectivity • Geolocation • Native <audio> and <video> tags • Typography and presentation • Offline COMP 446 / ELEC 446 - Week 10
HTML 5 Demos COMP 446 / ELEC 446 - Week 10
Interesting HTML 5 Links • Apple HTML Showcase • HTML 5 Rocks (slides) • The Wilderness Downtown • Hongkiat COMP 446 / ELEC 446 - Week 10
WebKit • Layout engine used to render webpages • WebKit powers Apple Safari and Google Chrome • Wide use by other platforms as well • Consistent with HTML 5 and CSS 3 COMP 446 / ELEC 446 - Week 10
HTML 5 and Mobile • iOS Apps need to go through App store • Apple is no longer the only game in town • Third party pre-compilers and universal app generators like Appceleratoradd cross-platform support but not open standards or as widely supported as browsers. • HTML 5 address openness and cross platform COMP 446 / ELEC 446 - Week 10
HTLM 5 vs. Native Apps • HTML 5 retains distribution control • HTML 5 has wide platform support • HTML 5 typically easier to develop • Native apps higher performance • Native apps can take better advantage of platform – both OS capabilities and hardware features. COMP 446 / ELEC 446 - Week 10