1. Mobile Development
(iOS Emphasis)
for Bethel COS216
Aaron Kardell
April 20, 2011
2. Agenda
• Background
• Smartphone Platform Overview
• iOS Development Tools & Program Overview
• iOS Development Tutorial
• Additional Resources
• Career
• Question & Answer
Twitter: @akardell
akardell [at] gmail.com
3. My Background
• Bethel graduate (2002); Serial Entrepreneur
• Altona Ed -> sold to Pearson
• World Conquest -> sold to SGN
• iGarageSale
•
• Locate My Deal
Twitter: @akardell
akardell [at] gmail.com
4. Mobile Platform Overview
• Smartphone Platforms in the US:
Platform Language Notes
Objective C requires ramp up time -
iOS Objective C especially syntax and memory management
Android Modern Java* Easiest for Java developers to get started on
Weak SDK tools & libraries; Likely deprecated
BlackBerry J2ME for new BlackBerry platform in 2012
Easy to develop for; lacks broad market
Windows Phone 7 Silverlight / .NET adoption, but appears to have traction
Palm webOS HTML / JavaScript Lacks broad market adoption
Twitter: @akardell
akardell [at] gmail.com
5. iOS Development Options
• Xcode - standard
Need to use / learn Objective C
• Other cross-platform options**
• Appcelerator Titanium - JavaScript driven, native
controls
• Rhodes - Ruby
• PhoneGap - HTML / JavaScript driven
• Corona - Lua based / Flash-like
• Flash via CS5(???)
Twitter: @akardell
akardell [at] gmail.com
6. iOS Developer Program
• http://developer.apple.com/ios/
• Required to deploy apps on devices
• $99 / year standard
• $299 / year enterprise
Twitter: @akardell
akardell [at] gmail.com
14. Tutorial
• Goal #2: “Show a map control in the app”
Twitter: @akardell
akardell [at] gmail.com
15. Tutorial
• Goal #3: “Zoom map into a fixed point”
Twitter: @akardell
akardell [at] gmail.com
16. Tutorial
• Alt / option key + double-click on an object
name for help
• When in doubt, look for SDK examples for
given objects
Twitter: @akardell
akardell [at] gmail.com
18. Tutorial
• Goal #4: “Zoom map into current location”
Twitter: @akardell
akardell [at] gmail.com
19. Tutorial
• Delegate: assign an object that implements
a protocol to receive notifications /
callbacks
• Protocol: similar to an interface in Java / C#
nomenclature
Twitter: @akardell
akardell [at] gmail.com
21. Tutorial
• Goal #6: “Update map with annotations
from Yelp results”
Twitter: @akardell
akardell [at] gmail.com
22. Tutorial
• Goal #7: “View details for each annotation”
Twitter: @akardell
akardell [at] gmail.com
23. Additional Resources
• Websites
• Stack Overflow
• Google Group – iphonedevmn
• Hacker News / Y Combinator
• Local User Groups - Twin Cities
• CocoaHeads
• Mobile Twin Cities
• Lean Startup Meetups
Twitter: @akardell
akardell [at] gmail.com
24. Career
• Look to differentiate your skills
• Combine deep knowledge in a couple areas with
broad exposure to many
• Consider pros / cons of small vs. large company
• You may have to switch jobs twice in the first 6
years of your career to reach market salary (but
tread carefully)
Twitter: @akardell
akardell [at] gmail.com
25. Career
• Future of resumes:
• Diminishing value of paper resume
• Value in demonstrating what you’ve done, e.g.:
•Open source project contributions
•github repositories
•Stack Overflow questions answered
•Contributions to sites like Hacker News
Twitter: @akardell
akardell [at] gmail.com
26. Career
• Seek companies where you can continue to learn
on the job; ask about their:
• Development process
• Design process
• Documentation & testing standards
• Working in teams
• How are roles & responsibilities split?
• Opportunities for continued learning? e.g.
conferences, classes, etc.
Twitter: @akardell
akardell [at] gmail.com