May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim...

36
May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer Curriculum based Application Development using iPod Touch

Transcript of May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim...

Page 1: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

May10-23:Advisor: Professor Akhilesh Tyagi Autumn WinkieChad NelsonMorgan JanesSean FreitagTim Danzer

CprE Curriculum based Application Development using iPod Touch

Page 2: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Outline

1. Introduction to iPod Touch

2. Integrating iPod Touch into ECpE curriculum

3. Project Requirements

4. Proposed Design

5. Final Design

6. Schedule

7. Design Testing

8. Test Class

9. Feasibility Analysis

10.Projected Costs

Page 3: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

The iPod Touch

Based on iPhone hardware

Mobile Embedded PlatformSamsung 32-bit RISC ARM

Clocked at 412 MHz

Multi-touch touch screen

128 MB DRAM

8-32 GB solid state memory

120 x 480 pixel, 163 pixels/inch LCD

iPhoneOSStripped down version on MacOSX

WiFi and Bluetooth

Battery 3.7 V at 1150 mAh

Page 4: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Development Environment

Closed Platform

Unix based

Objective-C

Communicates via “small-talk”Frameworks provide communication to the systems devices

Unable to access services outside of provided frameworks

Page 5: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

iPod Touch Capabilities

The iPod touch is capable of:Communicating via WiFi to external networks

Communicating via Bluetooth to other iPhone based devices and hands free peripheral devices

Detecting acceleration in three dimensional space

Determining its own location

Displaying advanced user interfaces

Encoding/decoding music and video for play back

Page 6: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

iPod Touch Limitations

The iPod touch is not capable of:Communicating via serial/USB without Apple’s permission (which we do not have)

Utilizing camera, GPS, video recording, microphone, or compass like the iPhone 3GS

Executing user developed background applications

Supporting Bluetooth profiles outside of advanced audio distribution, audio/video remote control, and personal area network

Page 7: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

iPod/iPhone PopularitySold approximately 26.4 Million iPhones and 20 million iPod Touches

Approximately 5%of US population owns an iPhone

Over 1 Billion apps downloaded from Apple’s store

Page 8: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Project Objective

Because of the overwhelming popularity of the iPhone platform it would be opportunistic for Iowa State University to pursue integrating the platform into its curriculum

Our project is to assess the feasibly of integrating the iPod touch into the CprE embedded systems curriculum

Page 9: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Course Outline

Professor Tyagi has communicated with the Embedded Systems faculty to create requirements for this embedded course

Project requirements will be based on those established for CprE 388X: Microcontroller and Systems Design

Feasibility will be assessed based on fulfillment of these requirements

Page 10: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Requirements

Event Loop

Event Scheduling

Web Client Design (Network Embedded Systems)

Cooperative and Distributed Decision Making

Resource ManagementProcessor

Memory

Energy

Page 11: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Design Approach

Design a minimal set of labs to meet requirements

Implement given set of labs

Generate documentation for each lab

Test effectiveness of each lab implementation

Provide labs, documentation, feasibility analysis and any other relevant resources as deliverables

Page 12: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Initial Design Plan

Five labs will meet requirementsHello World!

Light Saber

iFind

Web Radio

iRobot Integration

Page 13: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Project Evolution

RequirementsLabsHello World!

Light saber

iFind

Web Radio

iRobot Integration

Event Loop

Networking (Client/Server)

Resource Management (memory, processor,

energy)Cooperative and

Distributed Decision Making

Hello World!

Light saber

iFind

Web Radio

iRobot Integration

Event Loop

Networking (Client/Server)

Resource Management (memory, processor,

energy)Cooperative and

Distributed Decision Making

Event SchedulingEvent Scheduling

Page 14: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Project Evolution

RequirementsLabs

Hello World!

Light saber

iFind

Web Radio

iRobot Integration

Event Loop

Networking (Client/Server)

Resource Management (memory, processor,

energy)Cooperative and

Distributed Decision Making

Event Scheduling

Event Loop

Networking (Client/Server)

Resource Management (memory, processor,

energy)Cooperative and

Distributed Decision Making

Event SchedulingLight saber

Hello World!

FindMe

Resource Management

Distributed Brute Force

Page 15: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Project Evolution

RequirementsLabsHello World!

Resource Management

FindMe

Multiplayer Grouping

Guitar App

Event Loop

Networking (Client/Server)

Resource Management (memory, processor,

energy)Cooperative and

Distributed Decision Making

Hello World!

Resource Management

FindMe

Multiplayer Grouping

Guitar App

Event Loop

Networking (Client/Server)

Resource Management (memory, processor,

energy)Cooperative and

Distributed Decision Making

Event SchedulingEvent Scheduling

Page 16: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Lab 1: Hello World

Description: Introduce students to iPhone application development process

Concepts:Objective-CStructure and components for iPhone app

View ControllersDelegatesInterface Builder

Developer Certificates to directly test on the iPhone platform

Deliverable: An application using these components to display “Hello World”

Page 17: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Lab 2: Resource Management

Description: Require students to explore the physical constraints of the platform

Concepts:Monitor battery depletionCompare processor performance versus energy consumptionCompare network usage versus energy consumptionIllustrate need for memory management

Deliverable: A lab report with supporting graphs demonstrating the application of resource management

Page 18: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Lab 3: Guitar App

Description: Use multiple iPod touches to emulate a guitar, with one iPod touch as the frets, and another as the pick

Concepts:Uses BluetoothImplements AccelerometersSounds via AudioToolbox

Deliverable: An application that plays sounds based on the pressed frets when a strum occurs, similar to a guitar

Page 19: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Lab 4: FindMe

Description: Utilize location services to track other other users’ locations

Concepts:Alert users when a friend is nearbyApple Push NotificationsClient/Server interactionsAdvanced user interface designMapKit and Corelocations frameworks for iPhone platform

Deliverable: An application that submits its geo-location to a server and receives peer locations. A server that supports push notifications.

Page 20: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Description: Group multiple iPod Touches together via a distributive algorithm in which all iPod Touches are equal

Concepts:Ad-hoc networking via GameKitDistributive computingProtocol Implementation

Deliverable: An application that groups a specified number of ipods together, discontinuing search when a group is formed

Lab 5: Multiplayer Grouping

Page 21: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Lab Reasoning

5 labs is the minimal set that meets all requirements

Expected that filler labs will be created during class implementation

Labs are subject to change to parallel lecture material

Page 22: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Lab Timeline

1. Hello World (1 week)

2. Resource Management (1 week)

3. Expected filler lab (1-2 weeks)

4. Guitar App (2 weeks)

5. FindMe App (2 weeks)

6. Multiplayer Grouping (3-4 weeks)

Total of 10-12 weeks worth of labs

Page 23: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Fall Semester Breakdown

Learn Objective-C (2 weeks)

Research iPhone platform capabilities (2 weeks)

Initial proposal of curriculum (3 weeks)

Attempted implementation of initial proposal (3 weeks)

Revised Proposal (2 weeks)

Began implementation of revised curriculum (3 weeks)

Page 24: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Spring Semester Breakdown

Made minor adjustments to curriculum proposal (2 weeks)

Finished implementation (4 weeks)

Tested minimum curriculum (6 weeks)

Compiled testing results (1 week)

Authored feasibility report (2 weeks)

Page 25: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

TestingOffered a seminar to test the usefulness of the documentation in implementing the labs that took place during March 2010

Ideal participantsMust have completed CprE 288

Have interest in the iPhone platform.

Seminar provided us withAn idea of the difficultly of the labs/projects

The usefulness of the documentation made to accompany each lab or project

The feedback was analyzed and used to improve labs and generate feasibility report

Page 26: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Testing Approach

Offer two night classes (16 hours each) 4 weeks

2 sessions per week

2 hours per session

Satisfactory/Fail 1 Credit

29 students registered, 24 students completed the course

Page 27: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Course Layout

8 Session Schedule

1.Intro Lab

2.Resource Management Lab

3.Guitar App (Part 1)

4.Guitar App (Part 2)

5.FindMe App (Part 1)

6.FindMe App (Part 2)

7.Multiplayer Grouping (Part 1)

8.Multiplayer Grouping (Part 2)

Page 28: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Course Requirements

Satisfactory grade dependent upon:5 Lab Surveys

Attending all 8 sessions

Submit source code

Page 29: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Testing Results

FeedbackMany students did not possess the knowledge assumed from the prereq

Students struggled with the semantics of Objective-C

Not enough emphasis on GUI

Students prefer comprehensive documentation

Greater explanation of toolkits used in the labs

General Mac usage was unfamiliar to the students

Page 30: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Feasibility Analysis

Documented evolution of the project

Provided reasoning for proposed curriculum

Integrated feedback into final proposal

Offers advice towards succession planning

Page 31: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Is it Feasible?

Page 32: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Reasons Supporting Feasibility

Produced a curriculum that successfully met the requirements of an embedded systems course on a mobile platform

Extremely high interest in the platform

Evidence to support longevity of iPhone platform

Mobile computing represents the dominant trend in future technology

Testing was positive with strong constructive criticism

Page 33: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Project Costs

Purchases prior to project startApple enterprise developer program certification - $99

25 x 8gb iPod touches provided by the department - $4975

Costs incurred during projectLabor: 554 hrs total x $20/hr = $11080

Poster: $40

Total Cost = $16194

Page 34: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

May10-23 Website

Progress and status reports can be viewed at the team website:  http://seniord.ece.iastate.edu/may1023

Page 36: May10-23: Advisor: Professor Akhilesh Tyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer CprE Curriculum based Application Development.

Questions?