Developing Perspective

#65: Pirates and Piracy


00:00:00   Hello and welcome to Developing Perspective. Developing Perspective is a podcast discussing

00:00:04   news of note in iOS development, Apple and the like. I'm your host, David Smith. I'm

00:00:09   an independent iOS developer based in Herndon, Virginia. This is show number 65 and today

00:00:14   is a Monday, July 16th. Developing Perspective is never longer than 15 minutes. So let's

00:00:19   get started. All right, first, just a quick note. Last Thursday, I may remember I linked

00:00:25   to a post that included a bunch of different iOS and Mac-related, development-related podcasts.

00:00:31   And one of the ones I mentioned was Edge Cases, which is the podcast of Wolf Resnick and Andrew

00:00:39   Pontius. And over the weekend, I actually had the opportunity to just re-listen to a

00:00:44   lot of those. That post had reminded me of like, "Oh, I really should make sure I've

00:00:50   listened to all the back issues. And I just wanted to mention here again, it is a great

00:00:57   show. I've really been enjoying it. It's focused very much on the craft of development rather

00:01:03   than necessarily the business or the process. And it's been getting better and better. And

00:01:08   so I just wanted to put that out there, highly recommended. And what I'd said earlier was

00:01:14   was a bit too in the weeds, that has actually

00:01:18   been getting him steadily better and better

00:01:20   in terms of the way in which they're able to frame and manage

00:01:23   their discussion.

00:01:24   So highly recommended.

00:01:26   Link in the show notes.

00:01:27   All right, first, just kind of a random thought

00:01:30   that I had that I thought could be interesting to some of you.

00:01:32   So as you probably know if you listen to the show,

00:01:35   on Twitter I am @_DavidSmith.

00:01:38   And it's kind of a funny thing because the underscore

00:01:42   in some ways seems to have become more famous than I am, that a lot of people seem to actually

00:01:46   recognize me as underscore, or you know, as underscore David Smith rather than just as

00:01:50   David Smith.

00:01:51   And so it was kind of a funny thought.

00:01:52   And I was like, well, maybe I'll do a quick origin story on why I'm underscore David Smith.

00:01:58   So as you may imagine, if you live in an English speaking, sort of Anglo oriented country,

00:02:06   you know, United States, the UK, Australia, New Zealand, one of those kind of places,

00:02:10   I think a name like David Smith is fairly popular.

00:02:13   There's quite a lot of parents who name their kids David,

00:02:17   and there's a lot of Smiths running around.

00:02:19   And so it's throughout my life.

00:02:22   It's never been something that's been particularly unique.

00:02:25   I actually was looking around for some stats on this.

00:02:27   And I found this little study, which is interesting,

00:02:31   it's in the show notes.

00:02:32   But there's a study I found that someone

00:02:35   was analyzing the data on Facebook

00:02:37   for popularity of particular names.

00:02:40   and David Smith is number eight.

00:02:42   So I have the eighth most popular name sort of on Facebook,

00:02:45   which probably translates largely to the eighth most

00:02:49   popular name on the internet.

00:02:51   So as you may imagine, it's always difficult for me

00:02:53   to get a good name on something.

00:02:55   And so I was a little bit late to the Twitter party,

00:02:57   not that late.

00:02:58   I've had a Twitter account for quite a while,

00:03:00   but certainly not early enough that I

00:03:03   was able to get David Smith or D. Smith or David or David Thomas

00:03:09   Smith or almost any permutations of my name, all the actual literal ones were already gone.

00:03:15   And I'm just used to that.

00:03:16   And you know, that's just the way life works if you're named David Smith.

00:03:20   So for a while I was like, okay, well, I'll try other boys.

00:03:22   What am I going to do?

00:03:23   Right?

00:03:24   I need a name that has my name in it.

00:03:25   I'm not one of those people who likes kind of these weird names that don't make sense

00:03:30   in and of themselves.

00:03:31   Like they're just kind of like random gamer tags or stuff like that.

00:03:35   So it was a little complicated because I feel like it's good for people to identify me

00:03:38   me based on my Twitter name, especially the way Twitter works, where often if someone

00:03:44   mentions you in a post, other people are going to see that and read it.

00:03:48   And if my name is like, you know, CurlyBear68, that's not really helpful.

00:03:55   It's much better for it to be something related to David Smith.

00:03:58   So I was like, "Okay, what can I try?"

00:04:02   And the only thing that was available at the time that I could find was to put an article

00:04:07   in front of it. So for a while I was "The David Smith" on Twitter, and that was fine.

00:04:13   It worked out alright. You know, people... at that point I didn't have that many followers,

00:04:18   and it worked out okay. But I always felt kind of funny because I was... it sounded

00:04:22   a little bit pompous to be "The David Smith." There are millions of others of us running

00:04:27   around, so, you know, why should I be "The David Smith?" And then I came across this

00:04:33   thing where someone was saying Twitter allows prefixes that are non-alpha-numeric characters.

00:04:42   And specifically, really the only one that you're allowed to do is an underscore.

00:04:46   And so I was like, "Huh.

00:04:47   Well, that works.

00:04:48   I can just be underscore David Smith."

00:04:50   At first, I was thinking about doing David underscore Smith, but I think that's almost

00:04:55   harder to type than putting the underscore at the beginning.

00:04:59   And it also kind of made me laugh, because if you're an Objective-C programmer, it's

00:05:05   pretty common to put underscores in front of your private iVars and things like that.

00:05:12   And so it seemed kind of funny to be, you know, underscore David Smith.

00:05:15   And so anyway, that's the origin of the underscore, and it's just kind of, I guess that's where

00:05:20   it came from.

00:05:21   And so it was, you know, that's why I'm the underscore, and like I said, the underscore

00:05:25   seems to be more famous than I am sometimes, but I'll take that.

00:05:28   I don't mind being less famous than a symbol.

00:05:33   All right, and so that's the first topic.

00:05:36   Hopefully that's interesting.

00:05:37   And then the second topic that I'm going to talk about today

00:05:40   is piracy.

00:05:42   And so if you've been following, I

00:05:45   don't know, Apple Tech News for a little while, or last week,

00:05:48   you would have heard this thing where some Russian,

00:05:52   as you call him a hacker or a security specialist,

00:05:54   he probably would like to be referred to as,

00:05:56   or something like that, security evangelist or who knows. But anyway, he was talking about

00:06:03   how he found this way to spoof in-app purchasing. And the story itself is not that particularly

00:06:11   interesting to me. I think people have been able to do that on jailbroken phones for quite

00:06:16   a while. I think the significance in the way this was kind of cool was mostly just that

00:06:21   he was able to do without jail breaking the phone by installing like some

00:06:25   two or three fake SSL certificates and then redirecting your DNS to some scary

00:06:31   server in

00:06:32   Russia who'll get your iTunes username and password

00:06:35   which is

00:06:37   a little bit creepy

00:06:38   to say the least

00:06:39   but

00:06:41   anyway so he found this way to do it and that's sort of made some news and

00:06:44   Apple's probably working on it and they'll patch it up and make sure that they can work

00:06:47   around it

00:06:49   and thing that i was on the development side that i thought was interesting is

00:06:52   that a lot of people like oh well

00:06:54   this hack only works if u for developers who don't

00:06:58   authenticate uh...

00:07:00   in a purchase receipts on their devices that you know there's a way that you can

00:07:03   verify

00:07:04   there are a purchase is legitimate by sending it to your server and you send

00:07:08   apple server you do this crack a cryptographic dance

00:07:11   and then it says though you know is that correct is that not correct

00:07:14   and

00:07:16   and that's true

00:07:17   and that that is a way that if you it's important to you to not have

00:07:21   you know pirated in-app purchases that's a way to to check it

00:07:25   but at the end of the day

00:07:27   it

00:07:29   i mean for me piracy and fighting piracy in your application is just a losers

00:07:35   errand like there is

00:07:37   you're just going to end up driving yourself crazy

00:07:39   mean you could do all kinds of things on the same side of trying to detect on the

00:07:42   device and asking people to then buy your app

00:07:45   and i think it's at the end of the date and didn't do that

00:07:48   the percentage of your users

00:07:50   who are here

00:07:51   pirating

00:07:52   your application is likely fairly small

00:07:55   uh... and is is specifically on the iphone on the out on androids believe

00:07:59   it's a much different

00:08:00   super very different story

00:08:02   but it's a

00:08:03   it's a pretty small percent your iphone because you have to jailbreak your phone

00:08:07   and the percentage of jailbroken phones is fairly small

00:08:10   uh... is best i understand it at least

00:08:12   less than one percent

00:08:13   uh... of total of total phones are jailbroken so

00:08:16   it's not the kind of thing that you

00:08:19   it's not this massive market where you know eighty percent or ninety percent of

00:08:23   users can easily and trivially install

00:08:25   stolen versions of your software

00:08:28   and

00:08:29   so as a developer i look at that and i'm like

00:08:31   that's just not worth my time

00:08:32   because that the biggest problem that you always have when you start to try and

00:08:36   fight piracy

00:08:37   is that almost anything you do

00:08:39   has the potential

00:08:41   even if it's the small potential

00:08:43   of

00:08:45   annoying legitimate customers

00:08:47   that there's some way that if if you can see you have a check that says hey

00:08:52   i'm gonna

00:08:53   uh... authentic you know it's like i'm going to try and detective this is a

00:08:56   jailbroken phone

00:08:58   there's a chance

00:08:59   that a they could've bought the apple legitimately in the store and are just

00:09:02   running a jailbroken phone

00:09:04   and so if you induce something

00:09:06   too

00:09:07   say hey you looks like you may be jailbroken please don't steal my stuff

00:09:12   they may not have actually stolen your stuff

00:09:14   and calling them

00:09:16   you know calling them a

00:09:18   you know a thief or a cheat or whatever

00:09:21   that's not good customer service

00:09:23   say you do things where

00:09:25   you know you're going to have a service that is trying to keep track of pirated

00:09:28   copies and

00:09:30   you know do anything anything like that

00:09:32   no matter what it's like the actual what you do is kind of completely irrelevant

00:09:37   it's completely

00:09:40   there's no way to avoid the possibility of it hurting a paid customer

00:09:44   and for me

00:09:45   that

00:09:46   small possibility even if it is

00:09:49   minute even if I'm awesome and I write amazing code that has no bugs and there's

00:09:53   no way that this is ever going to come back to bite me

00:09:57   that .001 percent chance that I'm going to annoy someone who gave me

00:10:00   money

00:10:01   to somehow try and prevent the person who is likely never going to give

00:10:05   me money

00:10:06   from

00:10:08   from doing that from not giving me money

00:10:11   that just doesn't seem like a good trade-off to me and so

00:10:14   in general

00:10:15   i just don't think think or care about piracy very much and i mean some of the

00:10:18   applications i do and some of the things that i have have fairly substantial server

00:10:23   costs associated with them you know my audio books app

00:10:25   i host and distribute

00:10:28   you know i don't even know what it is, I think it's terabytes of

00:10:32   mp3 audio every

00:10:35   every month. Through my audiobooks app, people can buy books

00:10:38   and they download them off S3 and off a server.

00:10:41   And so

00:10:43   that just always kind of drives me nuts when

00:10:45   it's like, "OK, fair enough. Somebody's probably...

00:10:48   some amount of my S3 bill is from people who never didn't pay

00:10:52   for it."

00:10:53   But I can't get too wrapped up around that. I can't think too much about that

00:10:56   because

00:10:58   you know, I have

00:10:59   the ninety and... whatever, like say the ninety five percent of those people pay me a lot of

00:11:02   money.

00:11:03   And I'm going to focus my attentions and my effort

00:11:05   and all of my resources into making their experience better.

00:11:09   And maybe the better way to think about it in some ways

00:11:11   is to say, any minute, any hour that I spend trying

00:11:17   to fight a pirate is a minute that I'm not

00:11:19   spending on making my customer experience better.

00:11:22   And the best thing that I can do to fight piracy

00:11:25   is likely to make my apps so compelling and so interesting

00:11:29   and so awesome that people are going to want to buy them.

00:11:33   and they'll feel bad if they don't because they're--

00:11:38   the apps are great and they want to support the people who make them.

00:11:41   That's my goal.

00:11:42   That's what I'm heading towards.

00:11:43   And so it's just one of these things that it came up a bunch

00:11:47   and people are talking about it and all the things you can do.

00:11:50   But as a developer, I just don't really care about it.

00:11:52   And I think I'd recommend that most people don't.

00:11:54   I mean, fair enough, maybe some of you have businesses,

00:11:57   build business models where that just won't work.

00:11:59   but generally speaking

00:12:02   for me that's

00:12:03   just that's just the way i roll and that's just the way that it works that

00:12:07   i do as little as i can to prevent piracy

00:12:10   and just trust that apples doing good general best practice stuff to make it

00:12:14   difficult for people to pirate and that's really all i need

00:12:17   you know it reminds me of the old thing that steve jobs used to talk about where

00:12:21   he would say that

00:12:22   many many ways

00:12:24   itunes was the best thing to fight napster

00:12:28   uh...

00:12:29   in that, for most people, if you give them an opportunity to trivially, like in a really

00:12:35   easy way, buy something, just like a simple one click at a low, reasonable price, the

00:12:43   vast majority of people will take that.

00:12:45   And people only seek out the illicit version of getting that if you're making that experience

00:12:54   very difficult for them.

00:12:56   And I think that's true, and that's true for me, and that's true for a lot of things, that

00:13:00   I never even think about, like, "Oh, you know, it's like the first place I do, say I want

00:13:05   to watch a show.

00:13:06   Okay, I'll go to iTunes.

00:13:07   Okay, I'll go to Amazon."

00:13:09   And it's only after going to one of those two places that I would ever consider, like,

00:13:13   "Huh.

00:13:14   Well, I really want to watch this.

00:13:16   I mean, I really don't want to pirate it."

00:13:21   But those thoughts, I mean, at this point in my life, I don't particularly pirate things.

00:13:25   I mean, I just buy stuff.

00:13:27   There was certainly a time in my youth when that was not the case, and that's certainly

00:13:32   something I wish I hadn't done as much as I did.

00:13:34   But at this point, I have the morals to say, "No, that was a wrong choice that I was making

00:13:44   back then."

00:13:45   But that thought never even enters my mind anymore until I get annoyed with not being

00:13:51   able to get it in a legitimate way.

00:13:54   And that's so frustrating.

00:13:55   So for me as a developer, what I want to do

00:13:57   is I just want to make my software as easy to get

00:13:59   as possible.

00:14:00   And that's ultimately going to be best for me

00:14:02   and best for my developers.

00:14:03   So just don't care about the pirates.

00:14:05   Let them go off and do what they want to do.

00:14:07   And I'm sure that has some impact on my sales,

00:14:10   but it's nothing that I lose sleep over.

00:14:13   All right, that's it for today's show.

00:14:16   As always, if you have any questions, comments, concerns,

00:14:18   complaints, the best way to do is to hit me up on Twitter,

00:14:21   where you can also follow me if you think my 140 character

00:14:24   insights are interesting.

00:14:26   I'm Andrew Score, David Smith, as I mentioned earlier.

00:14:29   And if you want to follow this show on Twitter,

00:14:32   it's devperspective, D-E-V, perspective.

00:14:36   And all that feed does is post when new episodes are available.

00:14:39   There's nothing else there, so it's a pretty light follow load.

00:14:43   But otherwise, have a good week.

00:14:44   Happy coding, and I will talk to you later.

00:14:47   Bye.