{"id":16454,"date":"2016-11-21T15:36:00","date_gmt":"2016-11-21T20:36:00","guid":{"rendered":"http:\/\/mjtsai.com\/blog\/?p=16454"},"modified":"2016-12-08T19:18:53","modified_gmt":"2016-12-09T00:18:53","slug":"the-monkey-and-the-apple","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2016\/11\/21\/the-monkey-and-the-apple\/","title":{"rendered":"The Monkey and the Apple"},"content":{"rendered":"<p><a href=\"http:\/\/steve-yegge.blogspot.com\/2016\/11\/the-monkey-and-apple.html\">Steve Yegge<\/a>:<\/p>\n<blockquote cite=\"http:\/\/steve-yegge.blogspot.com\/2016\/11\/the-monkey-and-apple.html\">\n<p>A lot of people have asked me why I did my first mobile client in iOS rather than Android.  The answer is monetization.  iOS is straight-up easier to monetize.  Android has cultivated a frugal audience, through both marketing and hardware choices, and that cultivation has been a success.  Android users tend to be frugal.  That doesn&rsquo;t mean they don&rsquo;t spend money, but it does mean they are more cautious about it.  I have friends who&rsquo;ve done simultaneous iOS\/Android releases for their apps, and invariably the iOS users outspend the Android users by anywhere from 4:1 to 10:1 -- anecdotally, to be sure, but a little Googling is enough to support just about any confirmation bias you like.  So I picked iOS.<\/p>\n<p>[&#8230;]<\/p>\n<p>And as a result, the Android APIs and frameworks are far, far, FAR from what you would expect if you&rsquo;ve come from literally any other UI framework on the planet. They feel alien. This <a href=\"https:\/\/www.reddit.com\/r\/androiddev\/comments\/2hlw20\/am_i_retarded_or_android_development_is_a_mess\/\">reddit thread<\/a> pretty well sums up my early experiences with Android development.<\/p>\n<p>[&#8230;]<\/p>\n<p>The story of my app&rsquo;s rejection is epic enough for an opera, but in a nutshell, Apple requires that all apps support ipv6-only networks.  But none of the major Cloud providers supported ipv6 at the time of my submission, in late September. [&#8230;] Fortunately, after a mere six weeks, and me finally sending them an angry-ish (but still cravenly and begging) note asking WTH, they granted me the exception for 1 year, backdated so it was really only 11 months, but whatevs.  I was approved!<\/p>\n<p>[&#8230;]<\/p>\n<p>I&rsquo;m really worried about In-App Purchases. I offer them in my game (though it&rsquo;s definitely not pay-to-play), but Apple&rsquo;s testing for IAP leaves a lot to be desired. You have to sandbox it, and this requires setting up separate accounts. It&rsquo;s not possible to enable production IAP (with real money) before the actual launch. But their sandbox environment makes it really easy to screw up a transaction, after which your device will prompt you for a store login every 5 minutes for the rest of your miserable life, and likely into the hereafter. It&rsquo;s a mess.<\/p>\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Steve Yegge: A lot of people have asked me why I did my first mobile client in iOS rather than Android. The answer is monetization. iOS is straight-up easier to monetize. Android has cultivated a frugal audience, through both marketing and hardware choices, and that cultivation has been a success. Android users tend to be [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"","apple_news_api_id":"","apple_news_api_modified_at":"","apple_news_api_revision":"","apple_news_api_share_url":"","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[248,91,130,101,522,31],"class_list":["post-16454","post","type-post","status-publish","format-standard","hentry","category-technology","tag-android","tag-appstore","tag-rejection","tag-business","tag-inapppurchase","tag-ios"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/16454","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=16454"}],"version-history":[{"count":2,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/16454\/revisions"}],"predecessor-version":[{"id":16572,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/16454\/revisions\/16572"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=16454"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=16454"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=16454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}