may10-23: advisor: professor akhilesh tyagi autumn winkie chad nelson morgan janes sean freitag tim...
TRANSCRIPT
May10-23:Advisor: Professor Akhilesh Tyagi Autumn WinkieChad NelsonMorgan JanesSean FreitagTim Danzer
CprE Curriculum based Application Development using iPod Touch
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
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
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 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
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 ManagementProcessor
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 requirementsHello World!
Light Saber
iFind
Web Radio
iRobot Integration
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
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
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
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”
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
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
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.
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
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)
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
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
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
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 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
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/wp-content/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_quarter.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?