COMP446_Fall_2012_Lecture_10

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/24/12

Wednesday 2-3:30, DH 1046

Agenda

 Events of the Week

 HTML 5

 Final Project Status

SEC - 10/24/12 COMP 446 / ELEC 446 - Week 10 2

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

SEC - 10/24/12 COMP 446 / ELEC 446 - Week 10 3

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

4 SEC - 10/24/12 COMP 446 / ELEC 446 - Week 10

Current Roster

 Victor Acuna

 Ryan Artecona

 Gbenga Badipe

 Peter Chang

 Joan Chao

COMP 446 / ELEC 446 - Week 10 SEC - 10/24/12 5

Current Roster (2)

 Alex Chiu

 Heaven Chen

 Lingo Dai

 Weibo He

 Sahil Hingorani

COMP 446 / ELEC 446 - Week 10 SEC - 10/24/12 6

Current Roster (3)

 Abdul Nimeri

 Bill Robertson

 Frank Salinas

 Tyler Siegert

 Austin Witt

 Matthew Zhao

COMP 446 / ELEC 446 - Week 10 SEC - 10/24/12 7

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:

Assignment:

1, 2

#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:

Assignment:

3, 4 (demo part)

#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:

Assignment:

4 (post demo), 5, 6

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:

Assignment:

Watch 7 before class, 8 after class

#4 – Flickr Top Places

Assignment due: Friday, 10/05 6:00 am (Thursday 30:00)

SEC - 10/24/12 COMP 446 / ELEC 446 - Week 10 8

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:

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

Watch for #5:

Assignment:

10 (after Tab Bar), 11, 12

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:

Assignment:

13, 14 iOS 6 app

Assignment due: Friday, 10/26 6:00 am (Thursday 30:00)

SEC - 10/24/12 COMP 446 / ELEC 446 - Week 10 9

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:

Assignment:

Optional 17, 18

Continue working on Final Project

Assignment due: Wednesday, 11/28 2:00pm

 Lecture 12 - 11/7/12Android 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)

SEC - 10/24/12 COMP 446 / ELEC 446 - Week 10 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

SEC - 10/24/12 COMP 446 / ELEC 446 - Week 10 11

ELEC / COMP 694 – Spring 2012

Future 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 12 SEC - 10/24/12

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

SEC - 10/24/12 COMP 446 / ELEC 446 - Week 10 13

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

SEC - 10/24/12 COMP 446 / ELEC 446 - Week 10 14

SEC - 10/24/12 iOS 6

COMP 446 / ELEC 446 - Week 10 15

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/24/12 COMP 446 / ELEC 446 - Week 10 16

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 17 SEC - 10/24/12

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/24/12 COMP 446 / ELEC 446 - Week 10 18

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/24/12 COMP 446 / ELEC 446 - Week 10 19

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 20 SEC - 10/24/12

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/24/12 COMP 446 / ELEC 446 - Week 10 21

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/24/12 COMP 446 / ELEC 446 - Week 10 22

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 InApp 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 23 SEC - 10/24/12

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.

24 SEC - 10/24/12 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

SEC - 10/24/12 COMP 446 / ELEC 446 - Week 10 25

SEC - 10/24/12

HTML5

COMP 446 / ELEC 446 - Week 10 26

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 SEC - 10/24/12 27

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 28 SEC - 10/24/12

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 29 SEC - 10/24/12

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 30 SEC - 10/24/12

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 31 SEC - 10/24/12

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 SEC - 10/24/12 32

HTML 5 DEMOS

COMP 446 / ELEC 446 - Week 10 SEC - 10/24/12 33

Interesting HTML 5 Links

 Apple HTML Showcase

 HTML 5 Rocks ( slides )

 The Wilderness Downtown

 Hongkiat

SEC - 10/24/12 COMP 446 / ELEC 446 - Week 10 34

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

SEC - 10/24/12 COMP 446 / ELEC 446 - Week 10 35

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 Appcelerator add 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 SEC - 10/24/12 36

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 37 SEC - 10/24/12

Download