0:00:00welcome to under the radar a show but
0:00:02independent iOS app development I'm
0:00:04Marco Arment and I'm David Smith under
0:00:06the radar is never longer than 30
0:00:08minutes so let's get started so this
0:00:11week I had a sad thing happened to me
0:00:14that I wanted to unpack on the show so I
0:00:16had to retire one of my apps and one of
0:00:20the apps that obviously I have a lot of
0:00:21apps and I've quietly retired many of
0:00:24them in the past the ones that never had
0:00:26any downloads the ones that just didn't
0:00:28work out and you kind of just removed
0:00:30them from the store and that's that but
0:00:32I had one of them had removing out from
0:00:34the store that wasn't one of those apps
0:00:36that the had some success that was
0:00:38something I was proud of being out there
0:00:40I think this is actually the first app
0:00:42of yours that I've ever both heard of
0:00:44and downloaded that you're also now
0:00:46killing the hakko it comes full circle
0:00:49and the app was it's called check the
0:00:51weather and it is a weather app that at
0:00:56the time I launched it and I know
0:00:58exactly when I was it was for week four
0:01:00years ago as of last Monday the reason I
0:01:03and I and sort of publicly announced its
0:01:05end of life last Monday for that reason
0:01:07when I was planning this and scheduling
0:01:09it out and I looked at the schedule and
0:01:10I was like wait I think I launched it a
0:01:12wrestler or somewhere in middle of
0:01:14October and it turned out it was for you
0:01:17exactly four years ago so the app had a
0:01:19four year life oh and it's just a you
0:01:21know it's a weather app it's a strange
0:01:24thing in some ways to try and describe
0:01:26what it is or what it does what made it
0:01:27special because the weather I have is
0:01:29like they're all strange in the sense
0:01:31that they all have the same basic data
0:01:34and then the differences between all the
0:01:36apps are just you know questions of
0:01:38style of nuance but check the weather
0:01:43always has kind of a special place for
0:01:44me because it was the first app that I
0:01:47ever felt that I kind of did it right no
0:01:50you know it's it I started from the
0:01:52beginning and said you know what what
0:01:54happens if I take a run at a very
0:01:56well-established category doing
0:01:59everything right you know so doing
0:02:00having a proper actual marketing plan
0:02:02that was an actual thing that I did
0:02:04before either than just kind of throwing
0:02:05it over the wall or sending some blind
0:02:07emails
0:02:08and it was localized from day one it had
0:02:12great voiceover supported all the things
0:02:14that I kind of was about in my mind were
0:02:16always the things that you had to do to
0:02:19launch an app that was you know if
0:02:21you're gonna do it right if you're going
0:02:22to give it an honest chance and if
0:02:25you're curious if your listener to this
0:02:26show but you weren't a listener to the
0:02:28podcast I used to do called developing
0:02:30perspective I'll have links in the show
0:02:32notes to I did a whole series of
0:02:34episodes on developing perspective which
0:02:37rather than being 30 minutes long is
0:02:38only 15 minutes long so even though this
0:02:40is a lot of episodes it wouldn't take
0:02:42that long to catch up we're actually
0:02:43walked through at the in real time as I
0:02:45was building back in 2002
0:02:48back in 2012 I walked through the
0:02:51process of what went into this but
0:02:52anyway the long and the short of it is I
0:02:54had this app I launched it it did great
0:02:57it had a very big spiky launch I think
0:02:59it peaked at number three overall in the
0:03:02App Store which at the time for me was
0:03:05just you know mind-bending I actually
0:03:06have very warm and specific memories of
0:03:09that day when it launched just
0:03:11celebrating having my wife found someone
0:03:14to watch the kids and came into the
0:03:15office with I think even Chuck's like
0:03:19Chinese for dinner and a bottle of
0:03:20champagne and we you know actually
0:03:22celebrated exceda it all kind of worked
0:03:24and it kind of all worked out but that
0:03:27was four years ago
0:03:28that's a long time ago in App Store
0:03:31terms and so this week I now it will no
0:03:35longer be supported and for something
0:03:37like a weather app that means I'm
0:03:39turning off the API at the backend and
0:03:43that's kind of a sad thing but it was
0:03:46kind of inevitable because the tricky
0:03:48thing with someone Apple I checked the
0:03:49weather is that at least the way that I
0:03:51launched it is at the time we didn't
0:03:53really have a lot of this kind of
0:03:53subscription options you have we have
0:03:55now and so I was really more sort of
0:03:57like freer page where my options four
0:03:59years ago I could have sort of done
0:04:01subscriptions with some kind of you buy
0:04:03an in-app purchase and then you buy
0:04:05another one and then you buy another one
0:04:06but there was certainly wouldn't have
0:04:07been able to be Auto renewing so I made
0:04:09it a free app and or so I made it a paid
0:04:11app and I put that out in the air so I
0:04:14had a whole lot of people who gave me
0:04:15money
0:04:16four years ago I think about a third of
0:04:18the users bought it the first day you
0:04:21know had a nice big
0:04:22like he launched but most of you they've
0:04:24never subsequently got it given me any
0:04:27revenue and ongoing costs are really
0:04:31rough especially when they aren't just
0:04:34you know two or three Linode boxes
0:04:36things like weather data and even fonts
0:04:39actually like I had some custom fonts in
0:04:41this application that had annual
0:04:43subscriptions that I have to pay that's
0:04:45the worst tell you one thing I mean like
0:04:48you know server costs like you kind of
0:04:50can't get around that but as somebody
0:04:52who has licensed a lot of fonts for apps
0:04:55over the years anything you can do to
0:04:57avoid ongoing recurring costs in your
0:05:00app you should do that and if you have a
0:05:02fancy font you know try it try to get
0:05:04one that you can license that for a flat
0:05:06fee especially you know these days you
0:05:09can often get decent fonts for either
0:05:11free or for maybe a few hundred dollars
0:05:13up front flat forever and that's if you
0:05:16can do that that's great
0:05:17sure because it's any of these things
0:05:20like it was always a strange thing
0:05:22because it forced me to every year I had
0:05:24to sit down and decide do I still want
0:05:26to pay for this font to this point the
0:05:28opposite kind of a I followed the usual
0:05:30trajectory like it had that big spike at
0:05:32the beginning and then all you know kind
0:05:33of felt almost nothing and it became
0:05:36kind of like a charity project because
0:05:38you know like I still used the app and I
0:05:40mean through this week I was still using
0:05:42the app but at some point I had to
0:05:44decide you know did every year when I
0:05:46get my email from font foundry and says
0:05:48hey you know would like to charge you
0:05:50another three or four hundred dollars
0:05:51it's like great and every month when I
0:05:54get my bills from the radar provider and
0:05:57the weather data provider it's like mm
0:05:59hmm you know this is fine I mean the
0:06:02costs involved weren't killer at least
0:06:04up until recently and that's part of why
0:06:06I have to shut it down now because the
0:06:09there's a change at pricing changed with
0:06:11my radar provider that means that it
0:06:12would just have gone from like oh it's
0:06:14kind of fun it's a little charity
0:06:15project to something that would have
0:06:18just been kind of absurd to keep going
0:06:20well I think I think ultimately the you
0:06:23need to think about like you know what
0:06:25and I think we'll get to this later like
0:06:26what do you owe your users because in my
0:06:28opinion the second you are losing money
0:06:31like there is no acceptable amount of
0:06:33money to be losing on and on
0:06:35gong basis four and a half like to me
0:06:38once you're losing money that's it it's
0:06:40it's gone sure and I definitely don't
0:06:42see you can see where you're coming from
0:06:43like it is such a hard thing though from
0:06:46the emotional perspective like what
0:06:48you're saying makes total sense that you
0:06:49know like if I'm running a business and
0:06:50I have a division of my business that is
0:06:54continue is making a loss with no
0:06:56prospect of turning that around the
0:06:59logical like good business move is to
0:07:02just shut it down and move on but it's
0:07:06hard when you kind of have something
0:07:07that you feel more emotionally invested
0:07:09in where it feels like oh no you know
0:07:12this is like with my losses for this app
0:07:14was my first big break like I want to
0:07:15you know I feel sad for it to go and so
0:07:19I think I definitely in this case I
0:07:21probably did let it go longer than in
0:07:23retrospect I should have and not
0:07:25necessarily even just for the money
0:07:26reasons so I think what you're saying
0:07:27makes sense but even just in retrospect
0:07:29as I think of the like the the burden it
0:07:33places on you cognitively when you have
0:07:35something that you're sort of you have
0:07:37this affinity for and you're kind of
0:07:39proud of but it isn't really going well
0:07:42and you know every time an iOS update
0:07:44comes out it's like mm should I do this
0:07:46to check the weather
0:07:47you know like Apple like the Apple watch
0:07:49came out and I was like oh there's some
0:07:50really cool things you could do for you
0:07:51know weather app on the Apple watch
0:07:53I was like man the app just doesn't make
0:07:55money like it just really isn't getting
0:07:57traction and I don't know if just
0:08:00putting more effort into it
0:08:01is we really going to get the outcome
0:08:02but then everyone every every time
0:08:04there's a big thing and have that that
0:08:06sense of doubt I feel like that's the
0:08:07kind of thing that honestly more than
0:08:09the money is a bit better an incentive
0:08:11to make sure that you know if when
0:08:13something is clearly not going anywhere
0:08:15that you just kind of say yep it's done
0:08:17and move on anyway so that is why I have
0:08:21gotten to the point that I had to pull
0:08:22check the weather from the store and
0:08:25it's probably worth mentioning a little
0:08:28bit about kind of what that process
0:08:29looks like
0:08:30mechanically before we get into some of
0:08:33the kind of the implications and things
0:08:35that come out of that so when you decide
0:08:38that you want to pull an app from the
0:08:39App Store it's surprisingly easy to do
0:08:41you just go into iTunes Connect you
0:08:44click on the app there's no think it's
0:08:45availability and pricing is the area in
0:08:47the App Store that you can go into
0:08:49all right in iTunes Connect that you go
0:08:50to and say you know remove says you
0:08:51removed from sale you used to have to go
0:08:53in there and specifically select every
0:08:57country that you didn't want it in until
0:08:58use pet so let me select at the mall now
0:09:00you can just push a button I think that
0:09:02says remove some move from sale and that
0:09:05worked pretty well it was gone from the
0:09:07App Store and then you have the a more
0:09:10interesting question perhaps of how you
0:09:12communicate to your users so as most
0:09:15people who download your app don't know
0:09:17who you are they don't follow you on
0:09:19twitter they don't read your blog and I
0:09:22kind of struggled with this in this case
0:09:24like I've certainly done the I have a
0:09:25blog post mentioned on Twitter to kind
0:09:27of put it out as best I could for most
0:09:30of your users either you need to do a an
0:09:34app update and just mention this in the
0:09:36release notes that the app is going away
0:09:39or you would probably need to have some
0:09:42mechanism built into the application to
0:09:45reach out to them some kind of messaging
0:09:46scheme at this point the app has so few
0:09:49users that I didn't decide that
0:09:50something like that was worth doing of
0:09:53like building a special build of the app
0:09:54and putting it out there that popped up
0:09:56a window that said hey your app your
0:09:58data is gonna go away that's something
0:10:00that you'd kind of would have to do if
0:10:01you were you know if we're ever ayat e
0:10:04of reasons there a variety of reasons
0:10:05that you would have to turn something
0:10:06off and in this case it's turning it off
0:10:09because the user ship is fallen off
0:10:11dramatically but I've certainly have
0:10:13known have friends who ended having to
0:10:15end a product in some ways because it
0:10:18was too successful that it kind of had
0:10:20gotten ahead of itself in terms of
0:10:21usership
0:10:22but didn't have a revenue model to back
0:10:24it up and so a certain point they're
0:10:25just like well I just have to turn it
0:10:27off because the money is just kind of
0:10:29running away from me so in that case you
0:10:30probably have to build something into
0:10:31the app to turn it off and then you need
0:10:35some kind of mechanism to actually like
0:10:37physically turn it off in this case
0:10:39because I'm not hosting much myself
0:10:42there's not like I have servers an
0:10:43infrastructure that I have to physically
0:10:45unwind I'm mostly I'm just stopping
0:10:48paying for things and then the ultimate
0:10:51providers will turn it off but it is
0:10:53definitely something that I would say
0:10:55that I never really thought of when I'm
0:10:57you never cease e to not think about
0:10:58when you're making something but that
0:11:01what I would I would
0:11:02she'd do if I needed to turn this off
0:11:04you know like at some point if some of
0:11:06my other projects that have Web Services
0:11:07that I run were to go away it's kind of
0:11:10a tricky question to be like well what
0:11:12do I do with the data for example like
0:11:14how do I safely and securely turn
0:11:16everything off it's the kind of thing
0:11:19where it can so easily get away from you
0:11:20when you're developing like you can just
0:11:22add things like oh this will be fine
0:11:23this will be fine I just not even think
0:11:24about like all the different services
0:11:25you're starting up you know API
0:11:27memberships you're sorting all the
0:11:28different providers and everything and
0:11:30it can get away from you pretty fast oh
0:11:31sure I mean it's probably also worth
0:11:33saying that a lot of these same
0:11:34considerations come into play if you
0:11:36ever transfer an app oh yeah so if you
0:11:38ever sell an app it's something that's
0:11:40probably worth it's just sort of as a as
0:11:42a pro tip is keeping track in a document
0:11:44or somewhere it just at a high level all
0:11:47of the various things that you've ever
0:11:50paid for or bought associated with the
0:11:53development of an app in terms of yeah
0:11:55like keeping track of like there's a
0:11:57domain associated with this app you know
0:11:59if you go to check the weather dock oh I
0:12:01think it was like there's a domain and I
0:12:03would need to remember to go and turn
0:12:05off auto renew on that domain there's
0:12:08all you know that were I think there's
0:12:10three or four different weather data
0:12:12providers that I have a created accounts
0:12:15with at some point for this app and
0:12:16while as you know if in some ways the
0:12:19last some of them would just kind of
0:12:21turn off on their own if they're
0:12:22usership went to zero the reality is I
0:12:25also should probably go and actually you
0:12:28know terminate my account there so I'm
0:12:30not don't have all of these open these
0:12:32little open things in the future that
0:12:33could come back and bite me in some
0:12:36weird way and on the flip side on the
0:12:38positives say hey the Apple had been
0:12:39acquired and been shipped over to
0:12:40somebody you're gonna have to be able to
0:12:42give the new owner at the list of like
0:12:45here's all the things that I actually
0:12:46have to give you which is way more than
0:12:49just the source code to the app where's
0:12:52Pasha this week by Pingdom go to Pingdom
0:12:54comm slash radar to start monitoring
0:12:56your websites and servers today Kingdom
0:12:59offers a 14-day free trial and when you
0:13:00enter offer code radar at checkout you
0:13:02get 20% off your first invoice Pingdom
0:13:05is focused on making the web faster and
0:13:06more reliable for everyone who has a
0:13:08site or service they offer powerful
0:13:10easy-to-use monitoring tools and
0:13:13services so if you're opinio music you
0:13:14can monitor the availability and perform
0:13:16your servers databases websites all very
0:13:19very easily they take care of this by
0:13:21using more than 70 global test servers
0:13:23that emulate visits to your site they
0:13:25can check its availability often as
0:13:26every minute and they can a different
0:13:28test with that things like they can use
0:13:29a cookie to log in they can follow forms
0:13:31they can check for certain strings on
0:13:34the resulting page they can check for
0:13:36certain timeouts Pingdom is incredibly
0:13:38great I use it to monitor all my stuff
0:13:40and I've used it since the tumbler day
0:13:42is very very long time it goes since
0:13:43long before they were response here
0:13:44before I even started podcasting at all
0:13:46I've been using them for a very very
0:13:48long time and I have had nothing but
0:13:50great experiences with Pingdom that's
0:13:53why I can personally recommend them even
0:13:54they cannot pay me to say that I can
0:13:55actually say that directly they are
0:13:57awesome and you should be using them so
0:13:59payment makes it very very easy to
0:14:00monitor your sites all you need to do is
0:14:03give them a URL that you want to monitor
0:14:04and the various optional conditions you
0:14:06want to check for and they take care of
0:14:08the rest when they detect an outage you
0:14:10can be immediately alerted so you can
0:14:12fix the error before the downtime
0:14:14affects you you don't want to be caught
0:14:16with you know your site down and you
0:14:18don't even knowing it and people on
0:14:20Twitter telling you hey by the way you
0:14:21know your site's been down for the last
0:14:22couple hours no you want to be the first
0:14:24person to learn and with a Pingdom you
0:14:26will be the first person notified so you
0:14:27can fix it before anybody else really
0:14:29sees it go to Pingdom comm slash radar
0:14:32for a 14-day free trial and use offer
0:14:34code radar to get 20% off at checkout
0:14:37thank you very much - Pingdom response
0:14:38during our show so the other kind of
0:14:40consideration or thing that i Eve this
0:14:42is all this this process it made me
0:14:43think of because it's probably only sort
0:14:45of helpful to talk about the actual like
0:14:47this the instances of this app but if I
0:14:49take a step back and think about just in
0:14:52general as I'm developing an app are
0:14:54there lessons that I can learn from this
0:14:56that I think would be useful going
0:14:59forward and the first one that I was
0:15:01trying to think of and came up with was
0:15:02the importance of being careful about
0:15:05what I'm communicating or promising to
0:15:09my customers as I start out as I feel
0:15:14like it's easy when you're starting out
0:15:15and everything's kind of rosy and nice
0:15:18to get a little carried away and kind of
0:15:22make commitments that are down the road
0:15:24going to be more difficult for you to
0:15:26follow through on and you know it's a
0:15:29tricky thing maybe on this case
0:15:30the pricing where it's really not a
0:15:32sustainable business model for an app
0:15:33that has an ongoing cost to have a
0:15:35one-time purchase upfront but in the
0:15:38early days of the app I kind of gave the
0:15:40impression whether implied or actual
0:15:42enough to actually go back and look at
0:15:43my communication to see what I actually
0:15:45said but I kevin lee implied that you
0:15:47know you buy this app and you have
0:15:49weather data and there was no end date
0:15:52put on that and that creates some really
0:15:55awkward things that kind of kind of feel
0:15:57like they tie my hands whether
0:15:59necessarily or just because of the way
0:16:01that i feel going forward that kind of
0:16:04you know reduce my options because in
0:16:06this case you know i said about a third
0:16:07of the users bought it in one day so
0:16:10whatever i communicated to those people
0:16:12that first day when everything was
0:16:13cheerful and rosy and i was so
0:16:15optimistic about its future I kind of
0:16:19have to live with going forward and it
0:16:21definitely kind of makes me think of as
0:16:23I launch things now or as I move forward
0:16:26well there's also good for me to be
0:16:28thinking about you know this is
0:16:29sustainable and so on but it's even the
0:16:31importance of being careful about what I
0:16:33say that I'm not making pointers or
0:16:35promises into the future it's kind of
0:16:38like any time I see an accompanying that
0:16:40now says something's unlimited or even
0:16:44lifetime subscription or those types of
0:16:47words I am immediately skeptical I
0:16:50immediately think no that's you that
0:16:52can't be right
0:16:54you know you can't use those words with
0:16:56actual honesty because you can't give
0:16:59someone an unlimited something or a
0:17:01lifetime of something because you're
0:17:03making promises into the future that you
0:17:05really can't stand behind and that's
0:17:08probably a dangerous thing for me you
0:17:10know for especially a small developer to
0:17:11ever do well especially goes like when
0:17:13you're when you have a paid upfront app
0:17:14or you know any kind of and Wow however
0:17:16people are paying for it if somebody
0:17:17pays for your app there many people
0:17:20maybe I don't even meet maybe even most
0:17:22people have this expectation at the
0:17:24moment of payment that I am paying for
0:17:26this app for it to work forever and of
0:17:28course in reality that's you know that's
0:17:30not how anything in this industry works
0:17:32but that is kind of like the mindset and
0:17:34that's why people get so upset when an
0:17:37app that they paid for two years ago all
0:17:39of a sudden gets discontinued or
0:17:42requires a paid upgrade to keep working
0:17:44on
0:17:44the newest whatever's you know people
0:17:46they when they pay upfront as something
0:17:49that's presented as a one-time fee they
0:17:51really do assume even if it's
0:17:54subconscious
0:17:55they see that purchase as a lifetime
0:17:58purchase when in fact that is impossible
0:18:00to sustain I mean you know people
0:18:02basically software needs ongoing revenue
0:18:06streams because people expect ongoing
0:18:10updates ongoing service ongoing
0:18:13compatibility fixes and even ongoing
0:18:15improvements and yet they pay once
0:18:18upfront and and they and they expect all
0:18:20those things to come for free forever so
0:18:22like some kind of recurring subscription
0:18:24or recurring revenue model but you know
0:18:26whether its description or ads or other
0:18:27other things the reason why this is so
0:18:30helpful is because like that matches up
0:18:31more to people's expectations of what
0:18:33the product will do for them and how the
0:18:34product will keep moving but you have
0:18:36something like you had to check the
0:18:37weather because it was about like three
0:18:38or four bucks up front I think it was
0:18:40yeah yeah so it was like you know
0:18:42whatever it is three or four bucks up
0:18:42front then you know people who pay three
0:18:45or four bucks two three years ago you
0:18:47know they're gonna expect that app to
0:18:49still be working now if they're still
0:18:50using it and you're going to get some
0:18:52people who are very upset about this
0:18:54discontinuation but I don't really see
0:18:56how you could have kept it going
0:18:58otherwise I mean if you had I mean we
0:19:01could talk about different business
0:19:01models and stuff but you know if it was
0:19:03subscription funded from the very
0:19:05beginning that would be another thing if
0:19:06it were ad funded then you know it would
0:19:09it would just kind of keep making money
0:19:11through usage hopefully enough to cover
0:19:13it but that's not even a guarantee and
0:19:16you know so if there was ongoing revenue
0:19:18you could you could possibly sustain it
0:19:20more but people really do you know when
0:19:23it comes to you know you know geeks like
0:19:25us know to to doubt claims of unlimited
0:19:28or a lifetime but when you have paid
0:19:31upfront that is literally what people
0:19:32expect they expect it to be a lifetime
0:19:34purchase even though they might not care
0:19:36in a year or two but the ones who still
0:19:39use it they will care sure and I think
0:19:42beyond even just the consideration of
0:19:44like what's the best business model and
0:19:46obviously like in retrospect I think of
0:19:48myself four years ago being very naive
0:19:50that this kind of would have worked
0:19:53and I think the important thing there is
0:19:55- it's a to think it through but like I
0:19:58got so caught up in the actual process
0:20:00of building it and thinking that it was
0:20:01cool I don't think I thought four years
0:20:04into the future about what would happen
0:20:06and then me even if you don't have a
0:20:09good alternative for the business model
0:20:11like even if I'd still launched the app
0:20:12you know paid up front app I likely
0:20:14should have given some thought to how I
0:20:19talked about it and how kind of the
0:20:21expectations that I said yeah maybe I
0:20:22should have said you know the app
0:20:24includes weather data for two years and
0:20:26maybe I don't have a good answer for
0:20:27what happens in two years but they're
0:20:31sort of the expectation that maybe down
0:20:33the road there will be some more money
0:20:34that you'll have to pay pay for me to
0:20:36keep doing it and communicating that
0:20:38rather than kind of if you don't say
0:20:40anything like you're saying the
0:20:43customers expectation is that it's like
0:20:45well I make one payment and then it's
0:20:46the rest of my life for as long as I
0:20:48want to use it you know I will be
0:20:49sitting there ready for them to help
0:20:51them as however that goes well and for a
0:20:54while that actually works for a lot of
0:20:57apps like especially in the earlier days
0:20:58of the apps were like four years ago and
0:21:00you long says that was a totally
0:21:01reasonable thing to do like when I
0:21:02launched instapaper and you know day one
0:21:04be Happ store in 2008 well it was more
0:21:07like day 3 whatever doesn't hate it was
0:21:11just an upfront paid app it was first 10
0:21:14bucks then about a year later lowered it
0:21:16to 5 bucks and stay that way for a long
0:21:18time and the idea you know I was running
0:21:20this big expensive web service behind it
0:21:22but every month I just kept selling more
0:21:24copies of the app and so the growth was
0:21:27just funding it like just the additional
0:21:29new copies that were selling every month
0:21:31wasn't you know that was enough to fund
0:21:33the app and overcast first year I did
0:21:35the same thing with you know with with
0:21:37the five dollar one-time on and I
0:21:38purchased to unlock the the you know the
0:21:40good features the same thing and it
0:21:42worked fine for a little while but as
0:21:45the App Store has gone on that that
0:21:47incredible growth that we had in the
0:21:48earlier years is harder and harder to
0:21:51come by and the money you're getting
0:21:53from each person is like is often going
0:21:55down as we've had to you know lower
0:21:57prices to be more competitive in the
0:21:58market and so now you you really have to
0:22:02think from the beginning how am I going
0:22:04to get ongoing revenue from this whereas
0:22:06even
0:22:06as recent as four years ago when you
0:22:09launched this we really didn't have to
0:22:10think about that it wasn't you being
0:22:11naive it was actually the conditions of
0:22:13the market at the time you could just
0:22:16fund an app entirely by its own growth
0:22:18sure and you know it's how the good old
0:22:22days but I mean never nevertheless like
0:22:24the reality is it's something that I
0:22:26mentioned here as a cautionary tale both
0:22:29for myself and others that if you don't
0:22:32think about this upfront eventually
0:22:35you're going to have to deal with it I
0:22:37mean it reminds me in a weird way of
0:22:38like contract negotiation where I
0:22:40remember getting the best advice I've
0:22:42sung to a guy who was well he was my
0:22:43lawyer but in this case he wasn't acting
0:22:45as my lawyer because he's you know a
0:22:46lawyer he was telling me like the reason
0:22:48he likes doing contracts for developers
0:22:52is his job he felt was to think through
0:22:56all of the worst-case scenarios for them
0:22:59that they don't want to think about that
0:23:01they're sitting down with the client and
0:23:02they're super excited like it's the
0:23:05first big client they've ever gotten or
0:23:07whatever and they're really excited
0:23:08about it and they can talk about all the
0:23:10fun things they're gonna do and the
0:23:11awesome work they're gonna you know be
0:23:12able to do and collaborate together and
0:23:15you just don't think about these things
0:23:17that what do we do do you know in in the
0:23:20sense of a contract like what happens to
0:23:22the code at the end of this project what
0:23:23happens if you're sick and unable to
0:23:25continue working what happens if you
0:23:28just have massive disagreements and
0:23:30don't get along like those kinds of
0:23:32contingencies those kinds of things that
0:23:34are you hope you never really hope for
0:23:36you just hope it is always going to be
0:23:38the best case you know in this case with
0:23:39check the mother if the sales had just
0:23:40kept going forever it would the Apple
0:23:43just keep going forever but if you force
0:23:45yourself to think about the weird
0:23:47not-so-great things up front you can
0:23:51just plan for them or at least have some
0:23:52sense of what you might do and it
0:23:55probably would have helped in this case
0:23:56would have helped me avoid kind of it
0:23:58feels a bit awkward and it feels a bit
0:24:00more like I'm letting people down and
0:24:02generally people have been really
0:24:03gracious about it I think the nice thing
0:24:04about a third of the users buying it in
0:24:06the first day and probably about half of
0:24:09the users buying it in the first month
0:24:11is that that was all four years ago and
0:24:13so I think they've stopped using the app
0:24:15or if they have used it they've been
0:24:16using it for four years and paying you
0:24:18know less than a dollar a year is
0:24:20some reasonable to them but if anything
0:24:23it's just the cautionary tale of think
0:24:25about these things think about what's
0:24:27what this would look like down the road
0:24:28and have if not a plan in specifics at
0:24:31least a plan in general for how you're
0:24:33gonna deal with it the other thing that
0:24:36I've kind of been running into as I've
0:24:38been unraveling it that it's kind of a
0:24:39lesson that that would be worth talking
0:24:42about is as much as I feel like I think
0:24:45of the AppStore and the way people use
0:24:47my app as only ever using the latest app
0:24:50on the latest version of the OS which is
0:24:53in general like surprisingly true as
0:24:56I've been kind of unwinding this app and
0:24:59working out what I need to turn off I
0:25:00always went back and looked at old users
0:25:04of the application and this is where
0:25:05things get funny and why like I've
0:25:07changed data providers for example and
0:25:09I'm not sure and I need to make sure
0:25:12that I go and turn off those first
0:25:13accounts that I used to get weather data
0:25:15from because people are still using the
0:25:17app that hasn't you know really really
0:25:20really old versions like I went and
0:25:22looked in my analytics and I have people
0:25:23who are using the app that was published
0:25:25in 2013 still like as of a couple of
0:25:30days ago I was you know still having
0:25:32people who are using like hitting my
0:25:33server hitting my web services with that
0:25:36you know with that version string is
0:25:37this like from people who using really
0:25:39old iOS versions yes
0:25:41it's usually it's if that's that is
0:25:43usually the situation that it's like
0:25:44somebody has an old iPod Touch or a an
0:25:49old iPhone that can't be upgraded beyond
0:25:51a certain point and I think like the
0:25:53version they were using there was like
0:25:55it's the last version that worked with
0:25:57iOS 6 or with iOS 5 even like I mean
0:25:59it's getting really far back in time and
0:26:03so they're just stuck using that version
0:26:04and if they're still using it
0:26:06like in some ways you know good for them
0:26:07that's that's fine but in yeah I usually
0:26:11don't worry about those people in terms
0:26:13of new development but when you turn
0:26:14things off it is definitely something
0:26:17that I felt like I have to think through
0:26:19now is are there any things that old old
0:26:23versions of the app do that I need to
0:26:26think about now and in a weird way it
0:26:30gives me thought to being careful
0:26:33being thoughtful as I develop about what
0:26:35I wear I put things in the app and
0:26:37reminds me there's like physical feature
0:26:38there's a mechanism in check the weather
0:26:40to dynamically change some of the API
0:26:45keys inside of the application so that
0:26:48if I you know had a problem with where
0:26:50the weather provider I could some in
0:26:52some ways kind of switch things around
0:26:54dynamically and it does that you know
0:26:56through a web service and I'm glad it
0:26:59I've definitely used that a few times
0:27:00and especially for this is a good
0:27:02reminder for me of building mechanisms
0:27:05like that into our apps is probably a
0:27:06good idea to at least to some degree
0:27:08because you can't always rely on the App
0:27:12Store updates being the way you change
0:27:14that you know if something breaks I have
0:27:15to go and submit it and even though app
0:27:17review is amazing like recently I had an
0:27:19up I had an update yesterday where I
0:27:21submitted it in the morning in about
0:27:23three hours later it was approved which
0:27:24is crazy and awesome but that's only
0:27:27ever gonna capture like 90 percent of
0:27:29users and so at least give some thought
0:27:31to what happens that ten percent of
0:27:33users yeah it's also really nice to have
0:27:35from day one a mechanism server-side to
0:27:38to show a a message like show an alert
0:27:41box to everybody with with server-side
0:27:43provide a text I'm and you could have it
0:27:45be like you know every time or just a
0:27:47one time showing but somehow have
0:27:49something in the in there in your apps
0:27:51so that you could you know you know at
0:27:53this point rather than have it you know
0:27:54once everything shuts down rather than
0:27:56the app just launching and erroring out
0:27:58with some kind of server error that it
0:28:00like you know and no internet connection
0:28:01anything that's like that's not really
0:28:02right you know then to have to have a
0:28:05different method where you couldn't you
0:28:07can like put a file and s3 somewhere
0:28:08that basically that the app checks and
0:28:10says are and then you can show a box
0:28:11that says like sorry we've had to shut
0:28:13down this app because of what blah blah
0:28:14blah you know it's something that I have
0:28:17occasionally built into my apps and I've
0:28:19been very thankful every time I have I
0:28:21think the last thing is the thought I
0:28:22have is the as I finish up this app it's
0:28:26a weird thing because I still have ideas
0:28:30for what a cool weather app could be and
0:28:32do and I had to go navigate a little bit
0:28:36the thought of if I made another one
0:28:37would it make people mad or feel like
0:28:39they've I've cheated them out of
0:28:41something or I should have just put that
0:28:42into the app that they've already paid
0:28:43for
0:28:44but obviously the reality is and this is
0:28:46the sort of the end of the
0:28:47that I came to is you know if I decide
0:28:51to make a weather app again it'll just
0:28:54be a new thing and hopefully I may if
0:28:55the reality is I just need to take the
0:28:57lessons I learned from this put it into
0:28:59it you know and that will be okay and
0:29:02it's being careful of not making choices
0:29:06just to avoid people being mad at you
0:29:08because people are always gonna be mad
0:29:10at you for something yeah and so in this
0:29:13case I was having thought like you know
0:29:14I don't know why I was part of why I
0:29:16didn't pull check the weather is that at
0:29:18some point I've always thought maybe a
0:29:19you know I have these cool ideas for
0:29:21weather app maybe I'll put them in to
0:29:22check the weather and then I sort of
0:29:24keep it around just to avoid people
0:29:26being mad the reality is if I have those
0:29:28ideas and I did some point down the road
0:29:30I want to do it I should just do it and
0:29:32if people are mad they're mad but I
0:29:34won't be I'll be happy and I'll be glad
0:29:35and I'll be making something that I'm
0:29:37excited about and so that's just still
0:29:40an encouraging thought that I get gave
0:29:42myself this thing of this week is I went
0:29:44in and had to hit the button to say you
0:29:46know it's it's it's finally time to put
0:29:48this to bed next time use a free font
0:29:50there you go alright thanks for
0:29:52listening everybody and we'll talk to
0:29:53you next week
0:29:54bye