COMP446_Fall_2012_Lecture_9

advertisement
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/17/12
Wednesday 2-3:30, DH 1046
Agenda
 Events of the Week
 Using Storyboard to Size Images
 iOS 6
 Questions on Assignment #6
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
2
Events of the Week
 Softbank to Buy 70 Percent of Sprint for $20.1 Billion
 MIT puts mobile technology front and center in new research lab
 Apple to show off iPad Mini at Oct. 23 event, report says
 Galaxy S3 Mini: Samsung's big new move
 Appeals court nixes a Galaxy Nexus ban requested by Apple
 Google rolls out 'biggest update ever' for Street View
 Microsoft takes on Google directly in German patent lawsuit
 Apple licenses Swiss rail clock design
 PC Shipments to Fall for First Time in 11 Years – Forecast
 Lenovo Knocks HP from Top of Global PC Market: Gartner
 AMD: Third quarter unravels amid weak demand, excess inventory
 10 Hottest Technical Skills for 2013
 Apple Snags Chip Engineer From Rival Samsung
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
3
Current Roster
 Victor Acuna
 Ryan Artecona
 Gbenga Badipe
 Peter Chang
 Joan Chao
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
4
Current Roster (2)
 Alex Chiu
 Heaven Chen
 Lingo Dai
 Weibo He
 Sahil Hingorani
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
5
Current Roster (3)
 Abdul Nimeri
 Bill Robertson
 Frank Salinas
 Tyler Siegert
 Austin Witt
 Matthew Zhao
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
6
COMP 446 Syllabus (updated)

Lecture 1 - 8/22/12 - Introduction




Lecture 2 - 8/29/12 - Assignment 1 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:
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:
None
Assignment:
#1 - Calculator
Assignment due: Friday, 8/31 6:00 am (Thursday 30:00)
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)
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
7
COMP 446 Syllabus (updated)

Lecture 6 - 9/26/12 - Assignment 4 technology preview






Watch before:
Assignment:
8, 9 very beginning of 10
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




8, 9 very beginning of 10 (for Assignment 4)
#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 by 10/3:
Assignment:
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 - iOS 6, Server technology



Watch for #6:
13, 14
Assignment:
iOS 6 app
Assignment due: Friday, 10/26 6:00 am (Thursday 30:00)
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
8
COMP 446 Syllabus (updated)

Lecture 10 - 10/24/12 - HTML 5, Windows Phone




Lecture 11 - 10/31/12 – Android






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 13 - 11/14/12 - Individual meetings on Final Project


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


Watch before:
Optional 15, 16
Assignment:
Major Final Project Feature
Assignment due: Friday, 11/2 6:00 am (Thursday 30:00)
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)
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
9
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
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
10
Deploying to Device
 Read deployment information at developer.apple.com
 4 Steps




Load intermediate certificate
Request development certificate
Send me device id to register
Use Xcode to deploy. It will use team provisioning
profile
 If you have problems, we will have a deployment session
after class.
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
11
Some iOS Devices Available
 iPhone
 iPhone 3G
 iPhone 3GS
 AT&T iPhone 4
 Verizon 4S may be available
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
12
Week 10
 Watch Optional CS193p lectures #15 and #16
 Assignment #6 due this Friday, 10/19 6:00 am
 Full final project spec with layout due BEFORE next class
 Make progress on CS193p Assignment #6

Try and complete before 10/17 class. Due Friday, 10/19 6:00 am
 Next week’s lecture – HTML 5, Windows Phone
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
13
What is coming up in the assignments?
 Assignment #6 – Core Data Flickr



UIDocument
Core Data
Aspects outside of core data version of #5 optional
 You are on your own for assignment #6
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
14
Image Scaling
 Large number of students still not properly sizing images.
 I am testing in both portrait and landscape.
 Let bounds auto scale to frame of parent, but check




bounds as they may change with rotation
Aspect ratio must be maintained
Check aspect ratios to see which dimension dominates
scaling.
Scale up or down to make critical dimension just fit
Make sure to set your scale factor for smooth changes.
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
15
Image Scaling – The Simple Way
 Let the storyboard do most of the work

Layout detail view controller




Top level view has UIToolbar and UIScrollView
UIScrollView has UIImageView
Set scroll view’s min and max zoom levels
Set UIImageView’s mode to “Aspect Fit”

Top level and scroll views set to “Scale to Fit” (default)
 Code in PhotoScrollViewController


Let setPhoto handle all image loading activity
In main queue portion of setPhoto add:


self.photoScrollView.contentSize=image.size;
self.photoScrollView.zoomScale = 1.0;
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
16
Demo
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
17
iOS 6
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
18
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.
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
19
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.
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
20
Facebook
Give users even more ways to connect and share by
adding Facebook support to your app. With single signon 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.
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
21
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.
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
22
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.
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
23
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 timebased alarms.
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
24
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.
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
25
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.
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
26
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.
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
27
Xcode 4.5
 Features to help support the increased
number of screen resolutions more easily.


Auto Layout
Enhancements to Segue Identifiers
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
28
Assignment #6 Questions
SEC - 10/17/12
COMP 446 / ELEC 446 - Week 9
29
Download