SlideShare a Scribd company logo
Andrew Kozlik
@codefortravel
Two Paths
 Hire someone to do the work
 Do the work yourself (fun!)
Hiring Someone Else
 Elance
 Odesk
 Craigslist
 This Meetup!
Freelancer Follies
 Communicate Efficiently
 Provide wireframes or design
 Communicate
 Test often
 Communicate
 Manage Your Project
Communication
 Leave nothing to interpretation
 Be mindful of language gaps and timezones
 Communicate early and communicate often
 Ensure code is committed to git so you have
access
 Be as clear as possible about what you want
 Your failure to communicate can break your
project
Wireframe Applications
 Omnigraffle
 Photoshop
 Balsamiq
 iOS app POP
Test Often
 Require weekly progress review
 Use a tool like TestFlight
 Identify problems while they’re small
 Make sure everyone’s on the same page
Manage Your Project
 Use a tool like Codebase for tracking bugs
 Use a tool like Basecamp to manage the
project and deadlines
 Require that all communication be within
your PM software
 Seriously, don’t use e-mail.
 Be actively involved!
Develop Yourself!
 Relatively easy to get started
 Resources for learning
 Important topics to focus on
 Launching an application
Requirements for Starting
 You need a Mac
 Doesn’t need to be top of the line
 I started on a 2008 Macbook Pro
 Xcode 4
 IDE for developing applications (Eclipse sucks)
 Your brain
 You’re gonna have to think
 PATIENCE
 This stuff’s hard at first. Stick with it.
Your Mac
 Find something no later than 2008.
 Macbook Pro, Mac Mini, iMac, Macbook
Air
 Buy used if you don’t want to buy new
 Yes, Macs are expensive. 
 But they’re worth it! 
 You must pay $99 for a developer license
to build on a device
Xcode 4
 Available free on the Mac App Store
 Just search for Xcode and you’ll find it
Your Brain
 It helps to know how to program.
 If you don’t know what encapsulation is,
you’re gonna have a bad time.
 If you don’t know how to program, go
through some lessons on
cprogramming.com
PATIENCE
 Hardest requirement to acquire
 This stuff can be difficult. It’s also
frustrating. It does get better.
 Start small and build on top of what
you’ve learned
Resources
 The Internet!
 www.raywenderlich.com
 www.stackoverflow.com
 www.apple.com
 Books
 iOS Programming – Big Nerd Ranch Guide
 Beginning iPhone Development
 Programming in Objective-C
Topics to Focus On
 Model-View-Controller (MVC)
 Application lifecycle
 Protocols/Delegation
 Interface Builder
 Storyboards may make learning easier at
first
Launching an Application
 Learn about provisioning
 Prepare your icons, launch background
 Set up application on iTunes Connect
 Publish application through the app store
 Large topic, could justify its own
presentation
Questions?

More Related Content

What's hot

Output devices 2 lessons
Output devices 2 lessonsOutput devices 2 lessons
Output devices 2 lessonsJimmy Edwards
 
5 Essential Tips For Improving Your Website Mockups & Prototypes!
5 Essential Tips For Improving Your Website Mockups & Prototypes!5 Essential Tips For Improving Your Website Mockups & Prototypes!
5 Essential Tips For Improving Your Website Mockups & Prototypes!
Usersnap
 
Starting with JavaScript
Starting with JavaScriptStarting with JavaScript
Starting with JavaScript
Dori Smith
 
Introducing CS students to open source
Introducing CS students to open sourceIntroducing CS students to open source
Introducing CS students to open source
All Things Open
 
CPP01 - Introduction to C++
CPP01 - Introduction to C++CPP01 - Introduction to C++
CPP01 - Introduction to C++
Michael Heron
 
Good developers vs bad developers
Good developers vs bad developersGood developers vs bad developers
Good developers vs bad developers
Ousman L. Kallay
 
Lean responsive - Expanded
Lean responsive - ExpandedLean responsive - Expanded
Lean responsive - Expanded
Josh Jeffryes
 
Most valuable software design principles
Most valuable software design principlesMost valuable software design principles
Most valuable software design principles
Jeroen Hildering
 
20 percent tips
20 percent tips20 percent tips
20 percent tips
Maria Guryanova
 
Freelance symfony framework
Freelance symfony frameworkFreelance symfony framework
Freelance symfony framework
anikanielsen
 
Brain Sketching
Brain SketchingBrain Sketching
Brain Sketching
Rob Keefer
 
Recipes for successful CakePHP projects
Recipes for successful CakePHP projectsRecipes for successful CakePHP projects
Recipes for successful CakePHP projects
Pierre MARTIN
 
Digital content leading practice _webconference
Digital content leading practice _webconferenceDigital content leading practice _webconference
Digital content leading practice _webconferenceColleen Hodgins
 
How To Use Youtube To Market Your Business
How To Use Youtube To Market Your BusinessHow To Use Youtube To Market Your Business
How To Use Youtube To Market Your Business
Leslie Samuel
 
Evaluation question 6
Evaluation question 6Evaluation question 6
Evaluation question 6
Sam Benzie
 
Learn, Code, and Teach Model
Learn, Code, and Teach ModelLearn, Code, and Teach Model
Learn, Code, and Teach Model
Yahmis Yahaya
 
Failfast
FailfastFailfast
Failfast
Al Sayed Gamal
 

What's hot (20)

Question 6
Question 6Question 6
Question 6
 
Output devices 2 lessons
Output devices 2 lessonsOutput devices 2 lessons
Output devices 2 lessons
 
5 Essential Tips For Improving Your Website Mockups & Prototypes!
5 Essential Tips For Improving Your Website Mockups & Prototypes!5 Essential Tips For Improving Your Website Mockups & Prototypes!
5 Essential Tips For Improving Your Website Mockups & Prototypes!
 
Starting with JavaScript
Starting with JavaScriptStarting with JavaScript
Starting with JavaScript
 
Introducing CS students to open source
Introducing CS students to open sourceIntroducing CS students to open source
Introducing CS students to open source
 
CPP01 - Introduction to C++
CPP01 - Introduction to C++CPP01 - Introduction to C++
CPP01 - Introduction to C++
 
Good developers vs bad developers
Good developers vs bad developersGood developers vs bad developers
Good developers vs bad developers
 
L20 Agile Principles
L20 Agile PrinciplesL20 Agile Principles
L20 Agile Principles
 
Lean responsive - Expanded
Lean responsive - ExpandedLean responsive - Expanded
Lean responsive - Expanded
 
Most valuable software design principles
Most valuable software design principlesMost valuable software design principles
Most valuable software design principles
 
20 percent tips
20 percent tips20 percent tips
20 percent tips
 
Freelance symfony framework
Freelance symfony frameworkFreelance symfony framework
Freelance symfony framework
 
Brain Sketching
Brain SketchingBrain Sketching
Brain Sketching
 
Recipes for successful CakePHP projects
Recipes for successful CakePHP projectsRecipes for successful CakePHP projects
Recipes for successful CakePHP projects
 
Digital content leading practice _webconference
Digital content leading practice _webconferenceDigital content leading practice _webconference
Digital content leading practice _webconference
 
How To Use Youtube To Market Your Business
How To Use Youtube To Market Your BusinessHow To Use Youtube To Market Your Business
How To Use Youtube To Market Your Business
 
Evaluation question 6
Evaluation question 6Evaluation question 6
Evaluation question 6
 
Pair Programming
Pair ProgrammingPair Programming
Pair Programming
 
Learn, Code, and Teach Model
Learn, Code, and Teach ModelLearn, Code, and Teach Model
Learn, Code, and Teach Model
 
Failfast
FailfastFailfast
Failfast
 

Similar to How to start developing iOS apps

How To Become A Good C# Programmer
How To Become A Good C# ProgrammerHow To Become A Good C# Programmer
How To Become A Good C# Programmer
LearnItFirst.com
 
TxJS 2011
TxJS 2011TxJS 2011
TxJS 2011
Brian LeRoux
 
Cinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsCinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patterns
Steven Smith
 
UX 101: User Research methods to kickstart your project
UX 101: User Research methods to kickstart your projectUX 101: User Research methods to kickstart your project
UX 101: User Research methods to kickstart your project
Charlotte Breton Schreiner
 
10 tips to save you time and frustration while programming
10 tips to save you time and frustration while programming10 tips to save you time and frustration while programming
10 tips to save you time and frustration while programming
Hugo Shi
 
How to become a software developer
How to become a software developerHow to become a software developer
How to become a software developer
Eyob Lube
 
Php rules
Php rulesPhp rules
Android Developer Training
Android Developer TrainingAndroid Developer Training
Android Developer Training
faizrashid1995
 
Surviving the technical interview
Surviving the technical interviewSurviving the technical interview
Surviving the technical interview
Eric Brooke
 
Shortcut in learning iOS
Shortcut in learning iOSShortcut in learning iOS
Shortcut in learning iOS
Joey Rigor
 
Business 1
 Business 1 Business 1
Business 1
chamberssidney
 
30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook
Gabriel Paunescu 🤖
 
iPads in the Early Years Classroom
iPads in the Early Years ClassroomiPads in the Early Years Classroom
iPads in the Early Years Classroom
karlaholt
 
iPads in the Elementary LA Classroom
iPads in the Elementary LA ClassroomiPads in the Elementary LA Classroom
iPads in the Elementary LA Classroom
karlaholt
 
How to learn programming for begineers!
How to learn programming for begineers!How to learn programming for begineers!
How to learn programming for begineers!
Aman Kumar
 
10 Code Anti-Patterns to Avoid in Software Development.pdf
10 Code Anti-Patterns to Avoid in Software Development.pdf10 Code Anti-Patterns to Avoid in Software Development.pdf
10 Code Anti-Patterns to Avoid in Software Development.pdf
Ahmed Salama
 
Compose Camp session 2.pptx.pdf
Compose Camp session 2.pptx.pdfCompose Camp session 2.pptx.pdf
Compose Camp session 2.pptx.pdf
Dhruv675089
 
Intro to programming and how to start that career
Intro to programming and how to start that careerIntro to programming and how to start that career
Intro to programming and how to start that career
Tarek Alabd
 
Enterprise ipad Development with notes
Enterprise ipad Development with notesEnterprise ipad Development with notes
Enterprise ipad Development with notes
jaxarcsig
 

Similar to How to start developing iOS apps (20)

How To Become A Good C# Programmer
How To Become A Good C# ProgrammerHow To Become A Good C# Programmer
How To Become A Good C# Programmer
 
TxJS 2011
TxJS 2011TxJS 2011
TxJS 2011
 
Cinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsCinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patterns
 
UX 101: User Research methods to kickstart your project
UX 101: User Research methods to kickstart your projectUX 101: User Research methods to kickstart your project
UX 101: User Research methods to kickstart your project
 
10 tips to save you time and frustration while programming
10 tips to save you time and frustration while programming10 tips to save you time and frustration while programming
10 tips to save you time and frustration while programming
 
Php rules
Php rulesPhp rules
Php rules
 
How to become a software developer
How to become a software developerHow to become a software developer
How to become a software developer
 
Php rules
Php rulesPhp rules
Php rules
 
Android Developer Training
Android Developer TrainingAndroid Developer Training
Android Developer Training
 
Surviving the technical interview
Surviving the technical interviewSurviving the technical interview
Surviving the technical interview
 
Shortcut in learning iOS
Shortcut in learning iOSShortcut in learning iOS
Shortcut in learning iOS
 
Business 1
 Business 1 Business 1
Business 1
 
30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook
 
iPads in the Early Years Classroom
iPads in the Early Years ClassroomiPads in the Early Years Classroom
iPads in the Early Years Classroom
 
iPads in the Elementary LA Classroom
iPads in the Elementary LA ClassroomiPads in the Elementary LA Classroom
iPads in the Elementary LA Classroom
 
How to learn programming for begineers!
How to learn programming for begineers!How to learn programming for begineers!
How to learn programming for begineers!
 
10 Code Anti-Patterns to Avoid in Software Development.pdf
10 Code Anti-Patterns to Avoid in Software Development.pdf10 Code Anti-Patterns to Avoid in Software Development.pdf
10 Code Anti-Patterns to Avoid in Software Development.pdf
 
Compose Camp session 2.pptx.pdf
Compose Camp session 2.pptx.pdfCompose Camp session 2.pptx.pdf
Compose Camp session 2.pptx.pdf
 
Intro to programming and how to start that career
Intro to programming and how to start that careerIntro to programming and how to start that career
Intro to programming and how to start that career
 
Enterprise ipad Development with notes
Enterprise ipad Development with notesEnterprise ipad Development with notes
Enterprise ipad Development with notes
 

More from Andrew Kozlik

Slack Development and You
Slack Development and YouSlack Development and You
Slack Development and You
Andrew Kozlik
 
3D Touch Implementation for Shortcuts and Peek/Pop Functionality
3D Touch Implementation for Shortcuts and Peek/Pop Functionality3D Touch Implementation for Shortcuts and Peek/Pop Functionality
3D Touch Implementation for Shortcuts and Peek/Pop Functionality
Andrew Kozlik
 
Leveraging parse.com for Speedy Development
Leveraging parse.com for Speedy DevelopmentLeveraging parse.com for Speedy Development
Leveraging parse.com for Speedy Development
Andrew Kozlik
 
Core data orlando i os dev group
Core data   orlando i os dev groupCore data   orlando i os dev group
Core data orlando i os dev group
Andrew Kozlik
 
Mwyf presentation
Mwyf presentationMwyf presentation
Mwyf presentation
Andrew Kozlik
 
Last Ace of Space Postmortem
Last Ace of Space PostmortemLast Ace of Space Postmortem
Last Ace of Space Postmortem
Andrew Kozlik
 
Generating revenue with AdMob
Generating revenue with AdMobGenerating revenue with AdMob
Generating revenue with AdMobAndrew Kozlik
 

More from Andrew Kozlik (7)

Slack Development and You
Slack Development and YouSlack Development and You
Slack Development and You
 
3D Touch Implementation for Shortcuts and Peek/Pop Functionality
3D Touch Implementation for Shortcuts and Peek/Pop Functionality3D Touch Implementation for Shortcuts and Peek/Pop Functionality
3D Touch Implementation for Shortcuts and Peek/Pop Functionality
 
Leveraging parse.com for Speedy Development
Leveraging parse.com for Speedy DevelopmentLeveraging parse.com for Speedy Development
Leveraging parse.com for Speedy Development
 
Core data orlando i os dev group
Core data   orlando i os dev groupCore data   orlando i os dev group
Core data orlando i os dev group
 
Mwyf presentation
Mwyf presentationMwyf presentation
Mwyf presentation
 
Last Ace of Space Postmortem
Last Ace of Space PostmortemLast Ace of Space Postmortem
Last Ace of Space Postmortem
 
Generating revenue with AdMob
Generating revenue with AdMobGenerating revenue with AdMob
Generating revenue with AdMob
 

Recently uploaded

Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 

Recently uploaded (20)

Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 

How to start developing iOS apps

  • 2. Two Paths  Hire someone to do the work  Do the work yourself (fun!)
  • 3. Hiring Someone Else  Elance  Odesk  Craigslist  This Meetup!
  • 4. Freelancer Follies  Communicate Efficiently  Provide wireframes or design  Communicate  Test often  Communicate  Manage Your Project
  • 5. Communication  Leave nothing to interpretation  Be mindful of language gaps and timezones  Communicate early and communicate often  Ensure code is committed to git so you have access  Be as clear as possible about what you want  Your failure to communicate can break your project
  • 6. Wireframe Applications  Omnigraffle  Photoshop  Balsamiq  iOS app POP
  • 7. Test Often  Require weekly progress review  Use a tool like TestFlight  Identify problems while they’re small  Make sure everyone’s on the same page
  • 8. Manage Your Project  Use a tool like Codebase for tracking bugs  Use a tool like Basecamp to manage the project and deadlines  Require that all communication be within your PM software  Seriously, don’t use e-mail.  Be actively involved!
  • 9. Develop Yourself!  Relatively easy to get started  Resources for learning  Important topics to focus on  Launching an application
  • 10. Requirements for Starting  You need a Mac  Doesn’t need to be top of the line  I started on a 2008 Macbook Pro  Xcode 4  IDE for developing applications (Eclipse sucks)  Your brain  You’re gonna have to think  PATIENCE  This stuff’s hard at first. Stick with it.
  • 11. Your Mac  Find something no later than 2008.  Macbook Pro, Mac Mini, iMac, Macbook Air  Buy used if you don’t want to buy new  Yes, Macs are expensive.   But they’re worth it!   You must pay $99 for a developer license to build on a device
  • 12. Xcode 4  Available free on the Mac App Store  Just search for Xcode and you’ll find it
  • 13. Your Brain  It helps to know how to program.  If you don’t know what encapsulation is, you’re gonna have a bad time.  If you don’t know how to program, go through some lessons on cprogramming.com
  • 14. PATIENCE  Hardest requirement to acquire  This stuff can be difficult. It’s also frustrating. It does get better.  Start small and build on top of what you’ve learned
  • 15. Resources  The Internet!  www.raywenderlich.com  www.stackoverflow.com  www.apple.com  Books  iOS Programming – Big Nerd Ranch Guide  Beginning iPhone Development  Programming in Objective-C
  • 16. Topics to Focus On  Model-View-Controller (MVC)  Application lifecycle  Protocols/Delegation  Interface Builder  Storyboards may make learning easier at first
  • 17. Launching an Application  Learn about provisioning  Prepare your icons, launch background  Set up application on iTunes Connect  Publish application through the app store  Large topic, could justify its own presentation