Final Presentation - Senior Design

advertisement
CprE Curriculum
based Application
Development using
iPod Touch
May10-23:
Advisor: Professor Akhilesh Tyagi
Autumn Winkie
Chad Nelson
Morgan Janes
Sean Freitag
Tim Danzer
Outline
1. Introduction to
iPod Touch
2. Integrating iPod
5. Final Design
6. Schedule
Touch into ECpE 7. Design Testing
curriculum
8. Test Class
3. Project
9. Feasibility Analysis
Requirements
10. Projected Costs
4. Proposed Design
The iPod Touch
Based on iPhone hardware
Mobile Embedded Platform
Samsung 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
iPhoneOS
Stripped down version on MacOSX
WiFi and Bluetooth
Battery 3.7 V at 1150 mAh
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
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
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
iPod/iPhone Popularity
Sold 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
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
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
Requirements
Event Loop
Event Scheduling
Web Client Design (Network Embedded Systems)
Cooperative and Distributed Decision Making
Resource Management
Processor
Memory
Energy
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
Initial Design Plan
Five labs will meet requirements
Hello World!
Light Saber
iFind
Web Radio
iRobot Integration
Project Evolution
Labs
Requirements
Hello World!
Event Loop
Light saber
Event Scheduling
iFind
Networking
(Client/Server)
Web Radio
Resource Management
(memory, processor, energy)
iRobot
Integration
Cooperative and Distributed
Decision Making
Project Evolution
Labs
Requirements
Hello World!
Event Loop
Resource
Light saber
Management
Event Scheduling
FindMe
iFind
Networking
(Client/Server)
Distributed
Web Radio
Brute Force
Resource Management
(memory, processor, energy)
iRobot
Integration
Cooperative and Distributed
Decision Making
Project Evolution
Labs
Requirements
Hello World!
Event Loop
Resource
Management
Event Scheduling
Guitar App
Networking
(Client/Server)
FindMe
Resource Management
(memory, processor, energy)
Multiplayer
Grouping
Cooperative and Distributed
Decision Making
Lab 1: Hello World
Description: Introduce students to iPhone application
development process
Concepts:
Objective-C
Structure and components for iPhone app
View Controllers
Delegates
Interface Builder
Developer Certificates to directly test on the iPhone
platform
Deliverable: An application using these components to display
“Hello World”
Lab 2: Resource Management
Description: Require students to explore the physical
constraints of the platform
Concepts:
Monitor battery depletion
Compare processor performance versus energy
consumption
Compare network usage versus energy consumption
Illustrate need for memory management
Deliverable: A lab report with supporting graphs
demonstrating the application of resource management
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 Bluetooth
Implements Accelerometers
Sounds via AudioToolbox
Deliverable: An application that plays sounds based on the
pressed frets when a strum occurs, similar to a guitar
Lab 4: FindMe
Description: Utilize location services to track
other users’ locations
other
Concepts:
Alert users when a friend is nearby
Apple Push Notifications
Client/Server interactions
Advanced user interface design
MapKit 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.
Lab 5: Multiplayer Grouping
Description: Group multiple iPod Touches together via a
distributive algorithm in which all iPod Touches are equal
Concepts:
Ad-hoc networking via GameKit
Distributive computing
Protocol Implementation
Deliverable: An application that groups a specified
number of ipods together, discontinuing search when a
group is formed
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
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
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)
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)
Testing
Offered a seminar to test the usefulness of the documentation in
implementing the labs that took place during March 2010
Ideal participants
Must have completed CprE 288
Have interest in the iPhone platform.
Seminar provided us with
An 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
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
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)
Course Requirements
Satisfactory grade dependent upon:
5 Lab Surveys
Attending all 8 sessions
Submit source code
Testing Results
Feedback
Many 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
Feasibility Analysis
Documented evolution of the project
Provided reasoning for proposed curriculum
Integrated feedback into final proposal
Offers advice towards succession planning
Is it Feasible?
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
Project Costs
Purchases prior to project start
Apple enterprise developer program certification - $99
25 x 8gb iPod touches provided by the department $4975
Costs incurred during project
Labor: 554 hrs total x $20/hr = $11080
Poster: $40
Total Cost = $16194
May10-23 Website
Progress and status reports can be viewed at the team
website: http://seniord.ece.iastate.edu/may1023
References
Picture References in order of appearance
http://techplore.com/technology/wpcontent/uploads/2009/07/new_iphone.jpg
http://www.ifixit.com/Teardown/iPod-Touch-1st-Generation/596/3
http://upload.wikimedia.org/wikipedia/commons/8/8f/IPhone_sales_per_q
uarter.svg
http://idannyb.wordpress.com/2008/05/16/iphone-country-count-up-to-53/
http://jonmell.co.uk/wp-content/uploads/2008/12/find-people.jpg
http://greatbignerd.files.wordpress.com/2009/05/133946__lightsaber_l.jpg
Questions?
Download