Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Idea to iOS

Idea to iOS

Previous version of the presentation I gave at Lafayette Mobile Jump Start. This one was given for Net2LFT

laughinglarkllc

March 03, 2012
Tweet

More Decks by laughinglarkllc

Other Decks in Programming

Transcript

  1. About Me •Founder of Laughing Lark LLC •Developer at Bizzuka

    Inc •Web development for 5 years •iOS development for 2 years Saturday, March 3, 12
  2. Potential Features • Accident data • Camera images • Location

    of redlight/speed cameras • Accident confirmation/clearing • Traffic speed data • Accident reporting • Favorites Saturday, March 3, 12
  3. Application Definition Statement (ADS) Sentence or two about your application

    that can be used to “filter” what features should be included. Saturday, March 3, 12
  4. iPhoto • photo organizing • tagging • searching • sharing

    • slideshow creation • editing • print projects • viewing Saturday, March 3, 12
  5. Application Definition Statement Photos should make browsing your photos easy

    and fun, and allow you to share them with friends. Saturday, March 3, 12
  6. Lafayette Traffic - ADS Lafayette Traffic should make finding up

    to date traffic information in Lafayette easy. Saturday, March 3, 12
  7. Interface Design •One of the two most important parts of

    app development •To the end user, your interface is your app Saturday, March 3, 12
  8. Interface Design •When I sit down with most people to

    talk about iPhone app ideas, this tends to be the least thought out part of the idea. •This usually the moment where you realize your idea isn’t as thought out as you as you believed. Saturday, March 3, 12
  9. Interface Design •Try to stick to iOS UI conventions where

    you can •Take advantage of the fact that people already know how to use Apple’s UI’s •Keep in mind people use apps in a short burst of time. Make accessing the most useful parts of your app quick. Saturday, March 3, 12
  10. Interface Design at Apple •Apple requires its designers to draw

    10 different version of a user interface. •Iterating over a design that many times causes you to realize what’s really important •You can probably get away with 3-4 designs for your app. Saturday, March 3, 12
  11. Icon Design •On iOS, your icon is your brand •If

    you aren’t a good designer, find someone to design one for you Saturday, March 3, 12
  12. Design •If you have a well designed functional app, you

    get free marketing from Apple •Commercials •Apple Store demo devices •Special App Store page •They also hand out awards (Apple Design Award) Saturday, March 3, 12
  13. Requirements •Intel Mac •Xcode 3/4 with the iOS SDK •iOS

    Developer Program Membership ($100/year) •Apps written in Obj-C/C/C++ * Saturday, March 3, 12
  14. Other Requirements •Experience with objected orientated programming •Experience writing web

    services •Experience with UI programming Saturday, March 3, 12
  15. Objective-C •Don’t really need to know much C to use

    Obj-C •Manual memory management causes issues for newer Obj-C developers Saturday, March 3, 12
  16. Memory •iOS device is not a desktop •Use memory as

    conservatively as possible •iOS will warn you when memory usage is getting high •Free cached resources that can be rebuilt easily Saturday, March 3, 12
  17. Memory Device Ram iPhone, iPhone 3G, 1st/2nd Gen iPod Touch

    128 MB iPhone 3GS, 3rd Gen iPod Touch, iPad, 4th Gen iPod Touch, 256MB iPhone 4 iPad 2 512MB Saturday, March 3, 12
  18. Data •Where will you be getting your data? •Internet? •User

    created on the device? •Both? Saturday, March 3, 12
  19. Internet •Very common for iOS apps to connect to the

    Internet •How will you get this data? •Web service (hopefully) •Scraping a page •I’ve spent 50% of my first two projects on this Saturday, March 3, 12
  20. User Created •Generated by the user •Storage •XML File •SQLite

    •Core Data •Generally the right solution Saturday, March 3, 12
  21. Both •Caching internet data locally •Saving data that needs to

    be upload when no connection is available •Allow a lot more time to write syncing logic Saturday, March 3, 12
  22. View •Represents what the user interacts with •This is where

    your design gets implemented •Views can contain views * Saturday, March 3, 12
  23. View •Sticking to iOS built in Views saves a lot

    of time and buys you a lot of things for free •Customization through creating custom views and animations •UIView •CoreAnimation Saturday, March 3, 12
  24. Controller •Links up your views and models •Most of your

    applications logic will go in here Saturday, March 3, 12
  25. UIViewController •Most common iOS controller •Notifies you of when views

    are moving on and off screen •Notifies you when you are using up too much memory •Generally one per screen Saturday, March 3, 12
  26. 3rd Party Problems •Realize that you have the issue of

    waiting for a environment to be updated when a new iOS version comes out •Applications may not always work in the most efficient way •Start with a larger binary size Saturday, March 3, 12
  27. Testing on Your Own •You can develop in the simulator

    but be sure you test on the device. Saturday, March 3, 12
  28. Testing on Your Own •You can develop in the simulator

    but be sure you test on the device. •Test on the device! Saturday, March 3, 12
  29. Testing on Your Own •You can develop in the simulator

    but be sure you test on the device. •Test on the device! •Simulator has the specs of you Mac, not of an iOS device Saturday, March 3, 12
  30. Beta Testing •Collect UDIDs from testers’ devices •Create a provisioning

    profile •Email tester an IPA file •For iOS 4.0+ apps check out testflightapp.com Saturday, March 3, 12
  31. Profiling •Use Instruments •Allows you test for leaks/zombies, overall memory

    usage, CPU usage, OpenGL ES performance Saturday, March 3, 12
  32. Approval Process •All apps must be approved by Apple •Checking

    for violation of guidelines, private API usage, and crashers •Currently 75% of new apps are approved in 7 days (3/6/2011) Saturday, March 3, 12
  33. Approval Process •Updates to your app must also be approved

    •91% of updates are approved in 7 days or less (3/6/2011) •Best not to ship with something you can “fix with an update” •Special process for emergency updates (don’t abuse it) Saturday, March 3, 12
  34. Monetization •3rd Party Ad Networks •iAds (60/40 cut) •One time

    price (70/30 cut) •In App Purchases and Subscriptions (70/30 cut) Saturday, March 3, 12
  35. Recommended Books •Design •Tapworthy •Development •iPhone Programming: The Big Nerd

    Ranch Guide •Beginning iPhone 4 Development: Exploring the iOS SDK Saturday, March 3, 12