$30 off During Our Annual Pro Sale. View Details »

Navigating Your Options for Mobile App Development

Navigating Your Options for Mobile App Development

This presentation was given on 2014-06-04 at the Soundboard cross functional marketing conference, http://perfectpitchconcepts.com/soundboard/

Jonathan Wallace

June 04, 2014
Tweet

More Decks by Jonathan Wallace

Other Decks in Technology

Transcript

  1. Jonathan Wallace @jonathanwallace
    Navigating Your Options for
    Mobile App Development
    SoundBoard
    Cross-Functional Online Marketing Conference
    Jonathan Wallace
    good morning everyone, thanks for coming out. My name is Jonathan Wallace and i'm glad you're here to listen to my talk.
    !
    i was going to talk about "Navigating Your Options for Mobile App Development". that's the title but it doesn't really cover what i'm going to talk about
    today. so i needed to make a few adjustements and well, here's a more appropriate title...

    View Slide

  2. Jonathan Wallace @jonathanwallace
    You will be fired from your job
    five years from now unless you
    understand what your options
    for mobile app development
    are right now.
    Navigating Your Options for
    Mobile App Development
    whoa, whoa, whoa you say. you're asking yourself "who is this guy to stand up in front of us and tell me that i'm going to lose my job? why should i trust
    him??" well. let me show you who i am.
    !
    i'm this guy.

    View Slide

  3. Jonathan Wallace @jonathanwallace
    http://www.statesman.com/news/news/local-govt-politics/remarks-from-obamas-speech-at-applied-materials/nXm24
    Trust Me
    smile and nod and pause. oh wait, you don't see my name in the article.
    one second.

    View Slide

  4. Jonathan Wallace @jonathanwallace
    http://www.statesman.com/news/news/local-govt-politics/remarks-from-obamas-speech-at-applied-materials/nXm24
    Trust Me
    oh, you still can't see it?

    View Slide

  5. Jonathan Wallace @jonathanwallace
    http://www.statesman.com/news/news/local-govt-politics/remarks-from-obamas-speech-at-applied-materials/nXm24
    Trust Me
    there it is... a one sentence remark in a speech by the president.

    View Slide

  6. Jonathan Wallace @jonathanwallace
    http://www.statesman.com/news/news/local-govt-politics/remarks-from-obamas-speech-at-applied-materials/nXm24
    Trust Me
    now you might be asking yourself, what the hell does it matter that the president mentioned something i built. and that's a great question, it doesn't. what
    matters are the dates involved. so let’s go back..

    View Slide

  7. Jonathan Wallace @jonathanwallace
    http://www.statesman.com/news/news/local-govt-politics/remarks-from-obamas-speech-at-applied-materials/nXm24
    A new title
    President Obama made this speech on May 9 in 2013. I started work on
    iTriage, called appointmentcity at the time, in 2010. The project had existed for two years before I started on it. Doing the math, you can see that it took
    five years from the beginning of this project before it was touted as a 'success.' And the main way that it was a success was in getting acquired by larger
    and larger companies. There were two acquisitions while I was on the project and last I heard it was now ultimately owned by Aetna.

    View Slide

  8. Jonathan Wallace @jonathanwallace
    https://www.itriagehealth.com/
    iTriage
    All of that to say is that it took 5 years for that app to become a success. Let's ponder that for a moment. 5 years. That's a long time. Even more, I wasn't the only developer on the project.
    Let's assume that the cost to the customer was $150K per year per developer. I'd argue that this is a lower bound on the cost of a fulltime developer. There were over 44 people who touched
    the code when I last saw it 2011. That's a combination of contractors and employees. Assume an average of 4 developers at full time for 5 years and we're talking at a minimum of three
    million dollars.
    !
    Why am I telling you all of this? We just played a quick round of jeopardy and three million dollars is the answer.
    !
    What's the question?
    !

    View Slide

  9. Jonathan Wallace @jonathanwallace
    http://401kcalculator.org/
    How much?!?
    If you haven't guessed this is, one of, if not the most commonly asked questions I receive as a developer in the mobile and web space. Today we're going
    to talk about how to not spend three million dollars and instead, know about how much you should look to spend based on your needs and desires.
    !
    at the end of this talk, i want your ability to evaluate which approach to take is best for you and your company to have improved over where it is when we
    started. so you don't get fired for making the wrong choice. (or your company goes out of business)
    !

    View Slide

  10. Jonathan Wallace @jonathanwallace
    http://www.bignerdranch.com/about-us/nerds/jonathan-wallace.html
    A new title
    so earlier i said i would give you a reason to trust me. allow me to do that now. as i said earlier my name is jonathan wallace. my official title is "backend
    web team manager" and i consider a large part of my job to be consulting. we'll talk more about what that means in a few minutes.
    !
    i work at a company called Big Nerd Ranch. at BNR, we do three things. we write books. we write apps. and we train others how to write apps. when I say
    apps, i'm talking about mobile applications, web applications, javascript apps, design, etc. I've worked there going on 5 years and I've been doing web
    development for three years before that. I got started freelancing to help out small businesses solve business problems using web technology.
    !

    View Slide

  11. Jonathan Wallace @jonathanwallace
    • Native (Mobile) App
    • (Mobile) Web App
    • Hybrid
    Definition Time
    i've thrown around some jargon so i'm going to take a step back and
    cover the most important terms. let's talk about mobile vs. web app and what exactly that means.

    View Slide

  12. Jonathan Wallace @jonathanwallace
    Native App
    https://flic.kr/p/6pt4aD
    a native mobile app is written in the language of the platform and using the libraries provided by the platform. for an iphone or ipad, this is called
    objective-C. for android devices, this is java. software written natively will automatically get the benefits of the UI built into the frameworks. what's this
    mean exactly? if you build an iphone app, it'll look like almost all the other iphone apps. buttons on one app will act like buttons on another app and your
    great aunt matilda will be able to use your app.
    !
    think of it like peanut butter. it is something of substance but harder to move around.
    !

    View Slide

  13. Jonathan Wallace @jonathanwallace
    Web App
    https://flic.kr/p/aTPqcx
    a web app, on the other hand, is like jelly. it is basically a "smart" web page and can be written on any number of languages and platforms. its available on
    computers as well as mobile devices.
    !

    View Slide

  14. Jonathan Wallace @jonathanwallace
    Hybrid Approach
    https://flic.kr/p/7nkKYM
    does anyone know what this image is? GOOBER JELLY. A blending of peanut butter and jelly. Looks good, right? Now that metaphor is making sense!!
    !
    there's also numerous approaches in between. facebook for example started out as a web app but has slowly migrated to a fully native app. they did this
    by having certain parts of their app that were native and others that were just loading a web page.
    !
    !
    !

    View Slide

  15. Jonathan Wallace @jonathanwallace
    Facebook Native
    vs. Mobile Web
    http://sixrevisions.com/mobile/native-app-vs-mobile-web-app-comparison/
    Here’s a screenshot of facebook. On the left, we have facebook viewed as a mobile web app. Web app on the left. On the right we have the “native” app. I’m
    using scare quotes because back when this image was taken..

    View Slide

  16. Jonathan Wallace @jonathanwallace
    Facebook Hybrid
    vs. Mobile Web
    http://sixrevisions.com/mobile/native-app-vs-mobile-web-app-comparison/
    the screenshot on your right, is actually a hybrid. That’s part of the reason they look so similar however, you can see a few differences there. In this hybrid
    approach, facebook is loading a web page inside a native app.

    View Slide

  17. Jonathan Wallace @jonathanwallace
    http://sixrevisions.com/mobile/native-app-vs-mobile-web-app-comparison/
    • http://www.appcelerator.com/
    • http://phonegap.com/
    Another Set of Hybrids
    Tools that allow you to write in one language and generates the native version. The layer of indirection add complexity. With complexity sometimes comes
    cost but in general this is a good way to go when you need something more complicated than the simplest solutions which I’ll speak about later.

    View Slide

  18. Jonathan Wallace @jonathanwallace
    http://sixrevisions.com/mobile/native-app-vs-mobile-web-app-comparison/
    • Faster
    • App stores take a cut of revenue
    • Cost more to build
    • App for each platform
    • Multiple versions in the wild
    Pros / Cons of Native
    Native apps are typically faster and feel more responsive because there's no network latency.
    !
    App stores typically take around a 30% cut.
    !
    Native mobile devs are typically around ~40% more expensive than a web developer. The ranges between web and mobile developers overlap but generally
    you'll find mobile developers to be more expensive.
    !
    If you want your app natively available on android and iOS, you'll have to pay to build the same app twice. And it'll probably cost more than twice the cost.
    !

    View Slide

  19. Jonathan Wallace @jonathanwallace
    http://kpcb.com/InternetTrends
    Mobile Matters
    and why does mobile even matter?
    !
    I've cribbed this slide and the next couple of slides from a deck by Mary Meeker. Mrs. Meeker is an American venture capitalist and former Wall Street
    securities analyst. She is a partner at the Silicon Valley venture capital firm Kleiner Perkins Caufield & Byers. She's been a part of the IP of Netscape, anyone
    remember them? Also, she was an early champion of Dell, Microsoft, AOL, Amazon, Yahoo, eBay and Google.
    !
    You don’t have to read the details of this particular slide but check out the trend. Quarter over quarter, we’re seeing the amount of smartphones as a
    percentage of mobile phone continue to increase. I’m defining a smart phone is a phone that is able to install apps and view web pages.

    View Slide

  20. Jonathan Wallace @jonathanwallace
    http://kpcb.com/InternetTrends
    Mobile Matters
    Check out this slide. The interesting change is that the blue bar is much larger than the green bar. The green bar represents mobile views of web pages.
    We’re seeing an almost 100% increase year over year in North America. But what I really want to point out here is that Asia and Africa have some of the
    largest increases. Why? We’ll get back to this in a moment.

    View Slide

  21. Jonathan Wallace @jonathanwallace
    http://kpcb.com/InternetTrends
    Mobile Matters
    This is a very cool slide. Its shows how each computing cycle we see a magnitude increase in the amount of units. What’s next? I believe after mobile
    internet, we’ll see sensors, small low powered on the order 100B+ units. This could take 10-20 years.

    View Slide

  22. Jonathan Wallace @jonathanwallace
    http://www.wired.com/2014/05/cheap-smartphones
    Mobile Matters
    According to Ericsson–the world’s largest supplier of mobile networks and the company that probably knows more about who is using what than anyone else–there were only about 1.9
    billion smartphone subscribers at the end of last year. It expects that number to reach 5.9 billion in another five years...
    !
    For $129, you get the latest android software, a gorilla glass screen, all day battery in a water resistant phone.
    !
    .. three out of ten American consumers who couldn’t previously afford a smartphone may be able to buy one this year
    !
    This continues the commoditization of tech.
    !
    !

    View Slide

  23. Jonathan Wallace @jonathanwallace
    Recap
    https://flic.kr/p/5q1RC4
    so let's recap, we've determined that you're going to get fired if you don't listen to what i have to say and learn something, right? what have we learned so
    far?
    !
    it takes time and money to develop your presence in the mobile app arena. you've got technological considerations but mobile is coming and you're going
    to build something. you're going to follow up on the pros and cons link i referenced earlier, read through it, think about it, and you're going to build
    something... or get left in the dust.
    !
    what do you do next? you know you want to build. how do you do it? what are your options?
    !

    View Slide

  24. Jonathan Wallace @jonathanwallace
    !
    • DIY
    !
    • Contractors
    !
    • Consultants
    Paradigm Time
    i've got my mental model for how i like to think about getting software built. you have three main options. let’s talk about each of these in turn.

    View Slide

  25. Jonathan Wallace @jonathanwallace
    DIY
    !
    • http://www.mobileappwizard.com/
    • http://www.shoutem.com/
    • http://www.apps-builder.com
    • http://www.theappbuilder.com/
    There are web apps that you can use to build a mobile app. Sometimes they are cross platform tools, which means you build it once and it'll build you an
    iphone app, an android app, and maybe more. there're downsides to these.
    !
    !

    View Slide

  26. Jonathan Wallace @jonathanwallace
    DIY Pros / Cons
    !
    • Fast and easy
    • Cheap ($)
    • Limited in your options
    You are limited to what they envision. What options are provided for you. If your needs are simple enough, fantastic, you’re done!
    !
    pro: is cheap for money. doesn't take a lot of time to investigate and try out. this is a good idea when you're looking to establish your companies presence in the Apple App Store or the
    Google Play store.
    !
    cons: it may act cheap. performance may not be great. it can be difficult to build complicated functionality. are you integrating with the camera? what happens when you want to store your
    users images on their flickr account?
    !
    also, depending on the apple reviewer, apple reviews apps before they go out, it may not be approved because apple has a huge long list of dos and donts and if you violate the donts you
    don't get in the store.
    !

    View Slide

  27. Jonathan Wallace @jonathanwallace
    Contractor
    !
    • Cheaper than consultants
    • Hired for a specific job
    • Know what you want
    costs more money than the DIY approach but *should* take less time. You can use services like elance.com and odesk.com to find contractors. Contractors
    are developers that expect you to tell them what to do and what to build. You need to know exactly what you need. If you fail to specify all the details, or if
    you forgot to consider a situation, a contractor will not bring this to your attention. You'll have to catch it yourself.

    View Slide

  28. Jonathan Wallace @jonathanwallace
    Consultant
    You're going to spend more money here but the ideal is that you spend it most effectively. A good consultant will keep you from wasting money building
    things inefficiently or things that you don't need. A good consultant will help you determine what you need. A good consultant will begin helping you for
    free. Sounds crazy, right?
    !
    A good contractor may turn in to a consultant / customer relationship.

    View Slide

  29. Jonathan Wallace @jonathanwallace
    How do you know?
    !
    • Prior experience
    !
    • Referrals
    !
    • Interactions
    How do you know a good consultant or good contractor? Let's look for some good correlations. Have they worked with your business type before? Can they provide referrals to previous
    customers? If you want to reduce the risk of picking a bad partner, then these are important questions to follow up on. Finally, do you learn something new about the your business when
    speaking with them. A good consultant is happiest when helping you be successful. After all, the most valuable customer for a consultant is a happy, repeat customer. As all of you here
    know marketing and sales can be expensive and time consuming, an ongoing customer reduces marketing and sales costs to zero. A good consultant is vested in your success.
    !
    These aren't hard and fast rules, these are just things I suggest you look for.
    !

    View Slide

  30. Jonathan Wallace @jonathanwallace
    http://www.joelonsoftware.com/articles/fog0000000043.html
    • Do you use source control?
    • Can you make a build in one step?
    • Do you make daily builds?
    • Do you have a bug database?
    • Do you fix bugs before writing new code?
    • Do you have an up-to-date schedule?
    • Do you have a spec?
    • Do programmers have quiet working conditions?
    • Do you use the best tools money can buy?
    • Do you have testers?
    • Do new candidates write code during their interview?
    • Do you do hallway usability testing?
    Joel Test
    Okay, so what else? Well, the dirty little secret is that everything we've been talking about today is built on a foundation of software. The actual code that is executed by the CPU to bring your
    app into existence is written by people. Crazy, isn't it? And over the years, software developers have developed best practices that ensure a quality product emerges from the process of
    software development.
    !
    The metric you see here is called the Joel Test. So called because a guy name Joel Spolsky came up with it. It is used to get a quick three minute judge of the quality of a software team. Each
    question is yes or no. You get one point for each yes. For reference 12 is perfect, 11 is tolerable and 10 or below and the software team has serious problems.
    !
    What's nice is that many of these best practices should also apply to your software consultant or contractor. Let's break 'em down real quick.
    !
    !

    View Slide

  31. Jonathan Wallace @jonathanwallace
    http://www.joelonsoftware.com/articles/fog0000000043.html
    • Do you use source control?
    !
    • Can you make a build in one step?
    !
    • Do you make daily builds?
    Joel Test
    If you don't know about source control, well your consultant better and they better use it. Maybe a good way to ask this question is not "do you use it?" but "which one do you use?" if they say they don't any, run
    away. If you're not familiar with source control, it is a tool used to track changes to files, typically text files. Source control allows developers to coordinate on a project with accountability, efficiency and resiliency.
    I.e., if someone introduces a defect, it can be easily rolled back because of source contorl.
    !
    Can you make build in one step? I.e., how hard is it for you to get access to a new version of your app? Ideally, the developer should be able to click one button and some amount of time later, you're looking a new
    version with new features. The more manual a process is, the less possibility it is done frequently which will reduce the quality as it will take longer for defects to be surfaced.
    !
    Do you make daily builds? Again, this is about ensuring that defects are caught earlier than later. This isn't a hard and fast requirement but highly recommended. A good consultant is ensuring that what is
    produced is of high quality and working.

    View Slide

  32. Jonathan Wallace @jonathanwallace
    http://www.joelonsoftware.com/articles/fog0000000043.html
    • Do you have a bug database?
    !
    • Do you fix bugs before writing new code?
    !
    • Do you have an up-to-date schedule?
    Joel Test
    Are you tracking defects? Defects happen. If you're not tracking them, then you're going to forget about them and they won't be fixed.
    !
    In general, not always but in general, defects should be addressed before new features. The longer you wait, the costlier it becomes to fix a bug. Developers forget the context associated with the code when it is
    written, so the sooner they fix it, the faster they can fix it.
    !
    Schedules? Yes, they may slip but sometimes there are dates that cannot be changed. You have a big demo coming up a trade show. You have to have something to show. And if you don't have a schedule then you
    won't have the pressure on your project to force to chose which features are most important. In fact, I'd say this has been one of the most important things I've done consultant. Pushing my customers to make
    tough decisions about what is most important in their products.

    View Slide

  33. Jonathan Wallace @jonathanwallace
    http://www.joelonsoftware.com/articles/fog0000000043.html
    • Do you have a spec?
    !
    • Do programmers have quiet working
    conditions?
    !
    • Do you use the best tools money can buy?
    Joel Test
    Okay, so now we're getting into the second half where the relevance of these questions may not seem as obvious to you as a customer but I'm confident the make the case to you.
    !
    You need a specification of what the software is going to do. Often, what is built and what was specified initially will change. And that's okay, because in the process of building it, testing it and reviewing it, you'll
    discover new perspectives and/or requirements that changes the initial specification.
    !
    Next. People are productive in quiet working environments. Getting into the zone is key for developers to be productive. In a work for hire situation, you don't get to dictate the environment but it is worth noting
    that it is damn hard to write good software in a coffee shop. At least, without headphones.
    !
    The best tools save time. Slow computers waste time. And when you're paying a consultant, you don't want the charging you for time where there laptop takes 10 minutes to boot. I'm not kidding. I know people
    who work with laptops that take 10 minutes before they can do anything with it. Luckily, that person is not a consultant but still..
    !

    View Slide

  34. Jonathan Wallace @jonathanwallace
    http://www.joelonsoftware.com/articles/fog0000000043.html
    • Do you have testers?
    !
    • Do new candidates write code during
    their interview?
    !
    • Do you do hallway usability testing?
    Joel Test
    Last three real quick. If software isn't tested, then it doesn't work. Period. If you're not testing the code that your consultant is producing, then you don't know that it works. Someone has to approve the work. It
    doesn't have to be you but it needs to be someone other than the person writing the code.
    !
    Okay, I'll give you that the next to last one doesn't make a whole lot of sense to ask about but you want to know that the people you're hiring are competent.
    !
    Finally, hallway usability testing is incredibly useful. The idea is that when you ask someone to use your software that you think works great and is absolutely perfect, you'll learn all kinds of things watching them
    try to work with it.
    !
    !

    View Slide

  35. Jonathan Wallace @jonathanwallace
    http://howmuchtomakeanapp.com/
    How much?!?
    One final thing. There's a great website called howmuchtomakeanapp.com where you can go and walk through their wizard which will ballpark an estimate based on a bunch of great
    questions. you should check it out.
    !
    !

    View Slide

  36. Jonathan Wallace @jonathanwallace
    Questions?
    https://flic.kr/p/cBFFBS

    View Slide

  37. Jonathan Wallace @jonathanwallace
    Navigating Your Options for
    Mobile App Development
    SoundBoard
    Cross-Functional Online Marketing Conference
    Jonathan Wallace

    View Slide