iPhone App from concept to product
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

iPhone App from concept to product

  • 2,967 views
Uploaded on

The process, tips and tools that will get you to a released app and save you a lot of effort and pain along the way.

The process, tips and tools that will get you to a released app and save you a lot of effort and pain along the way.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,967
On Slideshare
2,544
From Embeds
423
Number of Embeds
7

Actions

Shares
Downloads
34
Comments
0
Likes
2

Embeds 423

http://digitaljoey.tumblr.com 398
http://visribeiro6.tumblr.com 10
http://www.tumblr.com 5
http://safe.tumblr.com 5
http://webcache.googleusercontent.com 3
http://shoutscreamprxy.appspot.com 1
http://www.yatedo.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. iPhone App from concept to product Tips & Tools to get the job done Joey Simhon (@joeysim) CTO and Co-Founder DoATThursday, July 28, 2011
  • 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 fellaThursday, July 28, 2011
  • 3. I got a confession to makeThursday, July 28, 2011
  • 4. My name is Joey and I’m a procrastinator “The best part about procrastination is that you are never bored”Thursday, July 28, 2011
  • 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 wheelThursday, July 28, 2011
  • 6. This is where I come fromThursday, July 28, 2011
  • 7. This is what we’ll discuss Concept > Design > Develop > Beta > ReleaseThursday, July 28, 2011
  • 8. ConceptThursday, July 28, 2011
  • 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 appsConceptThursday, July 28, 2011
  • 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/ )ConceptThursday, July 28, 2011
  • 11. Mockups When you need to communicate it to a larger / distributed group of people My tool of choice - BalsamiqConceptThursday, July 28, 2011
  • 12. DesignThursday, July 28, 2011
  • 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-appsDesignThursday, July 28, 2011
  • 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/DesignThursday, July 28, 2011
  • 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.htmlDesignThursday, July 28, 2011
  • 16. DevelopThursday, July 28, 2011
  • 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) Follow @doatgeeks to know whenDevelopThursday, July 28, 2011
  • 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...)DevelopThursday, July 28, 2011
  • 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 madDevelopThursday, July 28, 2011
  • 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/schemeDevelopThursday, July 28, 2011
  • 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 messagesDevelopThursday, July 28, 2011
  • 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 | reportingDevelopThursday, July 28, 2011
  • 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)DevelopThursday, July 28, 2011
  • 24. BetaThursday, July 28, 2011
  • 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/BetaThursday, July 28, 2011
  • 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”)BetaThursday, July 28, 2011
  • 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 timeBetaThursday, July 28, 2011
  • 28. App StoreThursday, July 28, 2011
  • 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 differentlyReleaseThursday, July 28, 2011
  • 30. And images too You can get creative hereReleaseThursday, July 28, 2011
  • 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/ReleaseThursday, July 28, 2011
  • 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 togetherReleaseThursday, July 28, 2011
  • 33. Respond to user reviews This is a real-life case I had with one of our usersReleaseThursday, July 28, 2011
  • 34. Last few 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 fasterReleaseThursday, July 28, 2011
  • 35. Thank You. Joey Simhon (@joeysim) CTO and Co-Founder DoATThursday, July 28, 2011