iphone app from concept to product

Post on 20-Oct-2014

2.917 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

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.

TRANSCRIPT

iPhone App from concept to productTips & Tools to get the job done

Joey Simhon (@joeysim)

CTO and Co-Founder DoAT

Thursday, July 28, 2011

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

Thursday, July 28, 2011

I got a confession to make

Thursday, July 28, 2011

My name is Joey and I’m a procrastinator

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

Thursday, July 28, 2011

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

Thursday, July 28, 2011

This is where I come from

Thursday, July 28, 2011

Concept > Design > Develop > Beta > Release

This is what we’ll discuss

Thursday, July 28, 2011

Concept

Thursday, July 28, 2011

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

ConceptThursday, July 28, 2011

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

Mockups

When you need to communicate it to a larger / distributed group of people

My tool of choice - Balsamiq

ConceptThursday, July 28, 2011

Design

Thursday, July 28, 2011

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

Develop

Thursday, July 28, 2011

API and Server LogicDesign 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 when

DevelopThursday, July 28, 2011

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

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

DevelopThursday, July 28, 2011

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 cameralastfm://artist/Cher/similar - Cher similar artist radiolastfm://globaltags/rock - Plays rock global tag radio

More examples - http://handleopenurl.com/schemeDevelopThursday, July 28, 2011

Push notification

Make sure to at least enable basic(default behavior is launching the app on swipe / View button)

Urbanairship is a good starting pointhttp://urbanairship.com

Deep links are an important addition, you can respond to launches from push messages

DevelopThursday, July 28, 2011

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

DevelopThursday, July 28, 2011

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

Beta

Thursday, July 28, 2011

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 BetaBuilderhttp://www.hanchorllc.com/betabuilder-for-ios/

TestFlight is our weapon of choicehttp://testflightapp.com

There’s also HockeyKit (open source too)http://hockeykit.net/

BetaThursday, July 28, 2011

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

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

BetaThursday, July 28, 2011

App Store

Thursday, July 28, 2011

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

ReleaseThursday, July 28, 2011

And images too

You can get creative here

ReleaseThursday, July 28, 2011

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

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

ReleaseThursday, July 28, 2011

Respond to user reviews

This is a real-life case I had with one of our users

ReleaseThursday, July 28, 2011

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 faster

ReleaseThursday, July 28, 2011

Thank You.

Joey Simhon (@joeysim)

CTO and Co-Founder DoAT

Thursday, July 28, 2011

top related