SlideShare a Scribd company logo
iPhone App
from concept to product
Tips & Tools to get the job done



               Joey Simhon (@joeysim)
              CTO and Co-Founder DoAT
Hello World

Growing Internet babies since 2000
Growing real ones since 2008
Passionate about engineering and the culture around it
Owned and managed a few businesses
Built and architected a few products
Bottom line - I must be a Persistent fella
I got a confession to make
My name is Joey and I’m a
procrastinator


“The best part about
procrastination is that
you are never bored”
Procrastination = Tools

 I call it productive procrastination (an oxymoron)
 I love finding new tools that solve real problems (which
 I don’t necessarily have)
 I’ll do my best to share the right tools to achieve what
 you want, quickly and without re-inventing the wheel
This is where I come from
This is what we’ll discuss



 Concept > Design > Develop > Beta > Release
Concept
The Erasable Marker

    When you start with your first concept, try and envision
    the core UI element of the product you’re try to build
    Jot down how it looks & behaves.
    Verify technical implementation boundaries (and be
    sure to break some :) )

    DoAT - Swiping between live apps


Concept
iPhone Screenshots
    Take screenshots of things that get you emotional (love
    it / hate it!)
    Some of the work was already done for you
    http://mobile-patterns.com/ (or god forbid
    http://www.androidpatterns.com/ )




Concept
Mockups
      When you need to communicate it to a larger /
      distributed group of people
      My tool of choice - Balsamiq




Concept
Design
Photoshop

    I’ll settle for paint / gimp / Paint.net for that matter
    PSD to use - http://www.teehanlax.com/blog/
    iphone-4-gui-psd-retina-display/
    Design for x2 (Retina)
    Ziv Meltzer wrote a post ‘bout it
    http://blog.zivmeltzer.com/post/3628811523/tips-the-
    design-process-for-ios-apps


Design
Your Hand
    Reviewing a design on large screens is a NO GO.
    Do it on your PHONE.
    Easy solution - Send by email and save image to album
    Tool - Liveview (for Mac)
    http://zambetti.com/projects/liveview/




Design
Don’t forget to RTFM


    Apple’s UI Guidelines is something you’d want to know
    by heart when designing
    http://developer.apple.com/library/ios/#documentation/
    UserExperience/Conceptual/MobileHIG/Introduction/
    Introduction.html




Design
Develop
API and Server Logic
    Design your API early
    Use static responses while you do
    Try and keep as much logic on server’s end - easier
    maintenance and cross platform future
    If you work in a distributed manner - document your
    API, you’ll move faster
    We created Gondor for this
    (coming to Apache’s near you soon. NGINXs too)

Develop
Create multiple targets
    Will allow you to have your team install several versions
    Will allow you to stage new server APIs as well
    Will reduce the clutter and keep your logs / analytics
    coherent
    Create separate DefaultProperties.plist for each target
    Do yourself a favor and use git
    (Didn’t know wherelse to put it so...)


Develop
No such thing as alpha

    Not always accurate (managed to prove it once... sorta)
    But you will definitely find yourself with “legacy” POC
    code running in production
    Try and draw the line between experiments and THE
    product
    Don’t refactor before you’ve hit the ceiling but when
    you have to - do it like mad


Develop
Incorporate URL Schemes
    This is the link of the app era
    Allows you be to be accessed in context?
    Be sure to communicate it externally so others can use
    it.
    Some examples -
    instagram://camera - launches their camera
    lastfm://artist/Cher/similar - Cher similar artist radio
    lastfm://globaltags/rock - Plays rock global tag radio
    More examples - http://handleopenurl.com/scheme
Develop
Push notification

    Make sure to at least enable basic
    (default behavior is launching the app on swipe / View
    button)
    Urbanairship is a good starting point
    http://urbanairship.com
    Deep links are an important addition, you can respond
    to launches from push messages



Develop
Metrics Driven Approach

      Try and collect as many events and params as
      possible cause you never know what question
      comes up about user’s behavior
      Tools - Flurry, Localytics, Google Analytics, Home
      brew. Most will do event name + KV params
      We use Flurry - has some disadvantages
      The matrix is
      update time | events support | user segmentation |
      reporting
Develop
Understand iOS Simulator

    There’s an inherent problem with it - it’s too darn fast
    and has too much juice
    Sometimes has weird issues
    You don’t hold it in your hand
    Good for coverage testing with different SDKs (e.g.
    autoplay video on iOS 4.3.x)



Develop
Beta
Provisioning Beta Versions
       You’ll start with IPAs sent by email
       Supporting this is hell (“Yes, drag it to your iTunes, oh
       you don’t have it.... blah blah blah”)
       You can try using BetaBuilder
       http://www.hanchorllc.com/betabuilder-for-ios/
       TestFlight is our weapon of choice
       http://testflightapp.com
       There’s also HockeyKit (open source too)
       http://hockeykit.net/
Beta
Stabilize - Crashes

       The #1 tool to get you stability
       and eliminate crashes - a
       crash reporting tool
       iPhone logs are worth nothing
       without the debugging
       symbols make sure you keep
       them
       PLCrashReporter and CREP
       (“holly crep I got a new crash”)

Beta
Stabilize #2 - Memory


       Static code analysis - 80/20 rule applies here
       XCode Instrumentation tools - memory is the thing
       you’d worry ‘bout most of the time




Beta
App Store
Text is all you got

    Think about what you want to write
    Competition texts is sometimes a good starting point
    Autocomplete is one you’ll surface
    Search results is the other
    They are scored differently



Release
And images too
    You can get creative here




Release
Take your time

    Submit when you ready
    Reject binary if things get messy
    App approval took ~7 days
    App updates took 1-5 days
    Tool - http://148apps.biz/app-store-metrics/



Release
Monitor

    iTunesConnect only keeps 14 days of past reports
    And will only tell you how many downloads/updates
    A combination of AppAnnie (free) and appFigures (paid)
    will do the job
    You can also setup a geckoboard if you want this info
    and analytics shown together



Release
Respond to user reviews
    This is a real-life case I had with one of our users




Release
Last bits
    You can ask for an “expedited review” if you have a
    good reason - we got an app approved within the day
    before TC Disrupt
    Use it wisely and rarely
    CoreData and version updates - be careful here (and
    any other local data)
    WebViews can sometimes allow you to release
    products faster


Release
Thank You.


       Joey Simhon (@joeysim)
      CTO and Co-Founder DoAT

More Related Content

PPT
Synapseindia android app sharing app inventor for android
KEY
Phonegap 2.x
PDF
Introduction to Cordova
KEY
TxJS 2011
PDF
Automated Exploratory Testing
DOCX
Evaluation6- technologies
DOCX
E6 improved
DOCX
eval 6 feedback
Synapseindia android app sharing app inventor for android
Phonegap 2.x
Introduction to Cordova
TxJS 2011
Automated Exploratory Testing
Evaluation6- technologies
E6 improved
eval 6 feedback

What's hot (18)

PPTX
Write Better JavaScript
PPTX
Eval 4
KEY
Falsy Values - Warsaw 2011
PPTX
Evaluation 6
PPTX
What Have You Learnt About Technologies From The Process Of Constructing This...
PPTX
Different Android Test Automation Frameworks - What Works You the Best?
PDF
Introduction to UI Automation Framework
PDF
PhoneGap at JSConf
PDF
An Introduction to Appium Desktop
PDF
How we've built Yahoo Fantasy Football (Droidcon Italy '15)
PDF
Stop Testing (Only) The Functionality of Your Mobile Apps!
PPTX
Lessons Learned From Applications That Kicked Titanium's Ass
PDF
Appium Native Application Crawler
PDF
Implementing Test Automation in Agile Projects
PPT
Smarr Oscon 2007
PDF
Engineering culture
PPTX
Question 6
PPTX
[SIP 2015] QA Intern: Test Automation
Write Better JavaScript
Eval 4
Falsy Values - Warsaw 2011
Evaluation 6
What Have You Learnt About Technologies From The Process Of Constructing This...
Different Android Test Automation Frameworks - What Works You the Best?
Introduction to UI Automation Framework
PhoneGap at JSConf
An Introduction to Appium Desktop
How we've built Yahoo Fantasy Football (Droidcon Italy '15)
Stop Testing (Only) The Functionality of Your Mobile Apps!
Lessons Learned From Applications That Kicked Titanium's Ass
Appium Native Application Crawler
Implementing Test Automation in Agile Projects
Smarr Oscon 2007
Engineering culture
Question 6
[SIP 2015] QA Intern: Test Automation
Ad

Viewers also liked (7)

PDF
iPhone App from concept to product
PPT
Champion Breakfast with DDB - TechHub Riga slides may 2014
KEY
Developing for the mobile web
PDF
Digitale trender 2012
PPT
Becoming a Credible Developer
PDF
Raciocínio 01
PPT
SDC - Einführung in Scala
iPhone App from concept to product
Champion Breakfast with DDB - TechHub Riga slides may 2014
Developing for the mobile web
Digitale trender 2012
Becoming a Credible Developer
Raciocínio 01
SDC - Einführung in Scala
Ad

Similar to iPhone App from concept to product (20)

KEY
Introduction to iPhone App Development - midVentures DESIGN+DEVELOP
PDF
The Comprehensive Technical Guide to iOS Mobile App Development
PDF
Preparing for Release to the App Store
KEY
Life cycle of iPhone application
KEY
Life Cycle of an iPhone App
PPTX
Mobile apps idea to making money
PDF
iOS design: a case study
PDF
iOS 5 Tech Talk World Tour 2011 draft001
PDF
App testing and publishing
PDF
Keep an eye out for the Top iPhone App Development Trends for 2023.pdf
PDF
Casestudy
DOCX
Step-by-Step Guide to Developing a Successful iOS App.docx
PDF
iOS Human Interface Guidlines for iOS-Platforms
PDF
Step-by-Step Guide to Developing a Successful iOS App.pdf
PDF
Session 9-10 - UI/UX design for iOS 7 application
PPTX
iOS Human Interface Guidelines (HCI)
KEY
Mobile Apps for Businesses
PDF
Spend Stack: An iOS Case Study
PDF
Building your Mobile App: Budget, Planning and Best Practices
PPTX
Building a scalable app factory with Appcelerator Platform
Introduction to iPhone App Development - midVentures DESIGN+DEVELOP
The Comprehensive Technical Guide to iOS Mobile App Development
Preparing for Release to the App Store
Life cycle of iPhone application
Life Cycle of an iPhone App
Mobile apps idea to making money
iOS design: a case study
iOS 5 Tech Talk World Tour 2011 draft001
App testing and publishing
Keep an eye out for the Top iPhone App Development Trends for 2023.pdf
Casestudy
Step-by-Step Guide to Developing a Successful iOS App.docx
iOS Human Interface Guidlines for iOS-Platforms
Step-by-Step Guide to Developing a Successful iOS App.pdf
Session 9-10 - UI/UX design for iOS 7 application
iOS Human Interface Guidelines (HCI)
Mobile Apps for Businesses
Spend Stack: An iOS Case Study
Building your Mobile App: Budget, Planning and Best Practices
Building a scalable app factory with Appcelerator Platform

Recently uploaded (20)

PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPT
Teaching material agriculture food technology
PDF
Electronic commerce courselecture one. Pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
A Presentation on Artificial Intelligence
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Machine learning based COVID-19 study performance prediction
PDF
cuic standard and advanced reporting.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Mobile App Security Testing_ A Comprehensive Guide.pdf
NewMind AI Monthly Chronicles - July 2025
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Review of recent advances in non-invasive hemoglobin estimation
Teaching material agriculture food technology
Electronic commerce courselecture one. Pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
A Presentation on Artificial Intelligence
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Spectral efficient network and resource selection model in 5G networks
Diabetes mellitus diagnosis method based random forest with bat algorithm
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Encapsulation_ Review paper, used for researhc scholars
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Machine learning based COVID-19 study performance prediction
cuic standard and advanced reporting.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto

iPhone App from concept to product

  • 1. iPhone App from concept to product Tips & Tools to get the job done Joey Simhon (@joeysim) CTO and Co-Founder DoAT
  • 2. Hello World Growing Internet babies since 2000 Growing real ones since 2008 Passionate about engineering and the culture around it Owned and managed a few businesses Built and architected a few products Bottom line - I must be a Persistent fella
  • 3. I got a confession to make
  • 4. My name is Joey and I’m a procrastinator “The best part about procrastination is that you are never bored”
  • 5. Procrastination = Tools I call it productive procrastination (an oxymoron) I love finding new tools that solve real problems (which I don’t necessarily have) I’ll do my best to share the right tools to achieve what you want, quickly and without re-inventing the wheel
  • 6. This is where I come from
  • 7. This is what we’ll discuss Concept > Design > Develop > Beta > Release
  • 9. The Erasable Marker When you start with your first concept, try and envision the core UI element of the product you’re try to build Jot down how it looks & behaves. Verify technical implementation boundaries (and be sure to break some :) ) DoAT - Swiping between live apps Concept
  • 10. iPhone Screenshots Take screenshots of things that get you emotional (love it / hate it!) Some of the work was already done for you http://mobile-patterns.com/ (or god forbid http://www.androidpatterns.com/ ) Concept
  • 11. Mockups When you need to communicate it to a larger / distributed group of people My tool of choice - Balsamiq Concept
  • 13. Photoshop I’ll settle for paint / gimp / Paint.net for that matter PSD to use - http://www.teehanlax.com/blog/ iphone-4-gui-psd-retina-display/ Design for x2 (Retina) Ziv Meltzer wrote a post ‘bout it http://blog.zivmeltzer.com/post/3628811523/tips-the- design-process-for-ios-apps Design
  • 14. Your Hand Reviewing a design on large screens is a NO GO. Do it on your PHONE. Easy solution - Send by email and save image to album Tool - Liveview (for Mac) http://zambetti.com/projects/liveview/ Design
  • 15. Don’t forget to RTFM Apple’s UI Guidelines is something you’d want to know by heart when designing http://developer.apple.com/library/ios/#documentation/ UserExperience/Conceptual/MobileHIG/Introduction/ Introduction.html Design
  • 17. API and Server Logic Design your API early Use static responses while you do Try and keep as much logic on server’s end - easier maintenance and cross platform future If you work in a distributed manner - document your API, you’ll move faster We created Gondor for this (coming to Apache’s near you soon. NGINXs too) Develop
  • 18. Create multiple targets Will allow you to have your team install several versions Will allow you to stage new server APIs as well Will reduce the clutter and keep your logs / analytics coherent Create separate DefaultProperties.plist for each target Do yourself a favor and use git (Didn’t know wherelse to put it so...) Develop
  • 19. No such thing as alpha Not always accurate (managed to prove it once... sorta) But you will definitely find yourself with “legacy” POC code running in production Try and draw the line between experiments and THE product Don’t refactor before you’ve hit the ceiling but when you have to - do it like mad Develop
  • 20. Incorporate URL Schemes This is the link of the app era Allows you be to be accessed in context? Be sure to communicate it externally so others can use it. Some examples - instagram://camera - launches their camera lastfm://artist/Cher/similar - Cher similar artist radio lastfm://globaltags/rock - Plays rock global tag radio More examples - http://handleopenurl.com/scheme Develop
  • 21. Push notification Make sure to at least enable basic (default behavior is launching the app on swipe / View button) Urbanairship is a good starting point http://urbanairship.com Deep links are an important addition, you can respond to launches from push messages Develop
  • 22. Metrics Driven Approach Try and collect as many events and params as possible cause you never know what question comes up about user’s behavior Tools - Flurry, Localytics, Google Analytics, Home brew. Most will do event name + KV params We use Flurry - has some disadvantages The matrix is update time | events support | user segmentation | reporting Develop
  • 23. Understand iOS Simulator There’s an inherent problem with it - it’s too darn fast and has too much juice Sometimes has weird issues You don’t hold it in your hand Good for coverage testing with different SDKs (e.g. autoplay video on iOS 4.3.x) Develop
  • 24. Beta
  • 25. Provisioning Beta Versions You’ll start with IPAs sent by email Supporting this is hell (“Yes, drag it to your iTunes, oh you don’t have it.... blah blah blah”) You can try using BetaBuilder http://www.hanchorllc.com/betabuilder-for-ios/ TestFlight is our weapon of choice http://testflightapp.com There’s also HockeyKit (open source too) http://hockeykit.net/ Beta
  • 26. Stabilize - Crashes The #1 tool to get you stability and eliminate crashes - a crash reporting tool iPhone logs are worth nothing without the debugging symbols make sure you keep them PLCrashReporter and CREP (“holly crep I got a new crash”) Beta
  • 27. Stabilize #2 - Memory Static code analysis - 80/20 rule applies here XCode Instrumentation tools - memory is the thing you’d worry ‘bout most of the time Beta
  • 29. Text is all you got Think about what you want to write Competition texts is sometimes a good starting point Autocomplete is one you’ll surface Search results is the other They are scored differently Release
  • 30. And images too You can get creative here Release
  • 31. Take your time Submit when you ready Reject binary if things get messy App approval took ~7 days App updates took 1-5 days Tool - http://148apps.biz/app-store-metrics/ Release
  • 32. Monitor iTunesConnect only keeps 14 days of past reports And will only tell you how many downloads/updates A combination of AppAnnie (free) and appFigures (paid) will do the job You can also setup a geckoboard if you want this info and analytics shown together Release
  • 33. Respond to user reviews This is a real-life case I had with one of our users Release
  • 34. Last bits You can ask for an “expedited review” if you have a good reason - we got an app approved within the day before TC Disrupt Use it wisely and rarely CoreData and version updates - be careful here (and any other local data) WebViews can sometimes allow you to release products faster Release
  • 35. Thank You. Joey Simhon (@joeysim) CTO and Co-Founder DoAT

Editor's Notes