{"id":765,"date":"2011-08-30T20:54:14","date_gmt":"2011-08-31T00:54:14","guid":{"rendered":"http:\/\/pappp.net\/?p=765"},"modified":"2011-08-30T23:33:55","modified_gmt":"2011-08-31T03:33:55","slug":"ios-is-not-a-promising-platform-for-me","status":"publish","type":"post","link":"https:\/\/pappp.net\/?p=765","title":{"rendered":"iOS is not a Promising Platform (for me)"},"content":{"rendered":"<p>This is a response to &#8220;what about iOS?&#8221; questions from my calling Android &#8220;the last promising mobile platform standing&#8221; in the boilerplate for the posts I&#8217;ve been making about problems with Android.  I come prepared with a list from my last two rounds of mobile device shopping.  <\/p>\n<ul>\n<li> The whole Jailbreaking mess is ridiculous.  Android rooting is a relitively passive process, and the manufacturers are actually <a href=\"http:\/\/htcsource.com\/2011\/05\/official-htc-will-no-longer-be-locking-bootloaders-on-their-devices\/\">trying to be helpful<\/a>.  Apple is actively trying to lock you out of your device on every update.  I&#8217;m a firm believer in the &#8220;If you can&#8217;t open it, you don&#8217;t own it&#8221; philosophy, and I like owning my computers.\n<li> Silly domain-specific language.  Apple likes to act like their implemenation of Objective-C is a general purpose language (and that the versions for OS X and iOS aren&#8217;t mutually incompatible dialects), but when was the last time you saw something in Objective-C that wasn&#8217;t for an Apple platform?  Even if you can come up with something, the other implementations are all OpenStep compliant &#8211; which is to say, incompatible with Apple&#8217;s.  I will admit that using native code that is a superset of C is arguably better than the &#8220;Everything is written in Java and runs through our re-implemented JVM&#8221; situation on Android, but at least Google has their NDK now.\n<li> To write code for iOS, you need a recent Mac, Xcode, and a subscription to Apple&#8217;s developer program.  To develop for Android, you need a computer.  Google has a nice integrated eclipse-based toolchain, but if you want to do it with a text editor, make, and the binaries for whatever platform you are running from the SDK, there are directions for that too.  I&#8217;d really prefer that the &#8220;computer&#8221; requirement wasn&#8217;t there &#8211; being able to try out simple scripts and compile test C programs on Maemo was wonderful, WebOS had it, and I want it on Android&#8230; apparently you can hack a toolchain together on Android with tcc and uclibc\/dietlibc, and I&#8217;ve been trying, but I&#8217;m not willing to <a href=\"http:\/\/www.appbrain.com\/app\/c4droid-(c-c-compiler)\/com.n0n3m4.droidc\">pay for a broken version<\/a>.\n<li> All of the current mobile platforms give an unprecedented amount of access to the platform owner.  I don&#8217;t trust Apple enough to give them a snitch in my pocket.  I&#8217;m not entirely comfortable with Google having that kind of access either, but it&#8217;s a &#8220;choose your poison&#8221; situation.\n<li> No native multitasking.  Apple has that weird freeze state background callback mechanism they call multitasking, which works in limited circumstances, but it really isn&#8217;t.  They also don&#8217;t have a platform level clipboard mechanism or any of the other features that make multitasking work.  WebOS&#8217;s behaviors in that regard were better than Androids, but&#8230; yeah.\n<li> Single source for software.  Android has a checkbox to use alternative sources, and doesn&#8217;t have byzantine rules on what goes in Google&#8217;s market.  iOS has &#8220;Jailbreak, install a third party manager, and pray the next update doesn&#8217;t brick your phone&#8221;, coupled with a transparency-free review process for applications that go in their store.  That&#8217;s an appliance with vendor-provided modules, not a platform.\n<li> I want a god damn keyboard.  Using up half your expensive high-resolution screen for a keyboard large enough to mash your fingers on is retarded, and I&#8217;m yet to use a software keyboard that comes close to being as usable as even second-rate hardware keyboards.  Apple has a long standing war on buttons, so built in isn&#8217;t going to happen, and third party clip on Bluetooth keyboards aren&#8217;t a solution.\n<\/ul>\n<p>Honestly, a 4-ish inch iOS device with a physical keyboard hacked such that it would have nothing to do with Apple&#8217;s servers (Updates when I ask, Cydia (rebadged dpkg) for package management, etc.) would be a pretty attractive platform &#8211; the underlying tech is good, and the userland is more POSIX-like than Android &#8211; but Apple won&#8217;t let that happen.<br \/>\nAs for other platforms, I don&#8217;t see any evidence that Windows Phone is going to be any more successful or desirable than the previous incarnations of WinCE and WinMo &#8211; they seem to just be copying iOS, stupid omissions and all, on top of a different kernel.  HP did their stupid thing to WebOS, and Nokia just killed their own to turn themselves into Microsoft&#8217;s mobile hardware division in all but name (which, history tells us, means they should be defunct shortly).  So.  Last promising platform standing.<br \/>\nEdit: I would make a note about it being tied to iTunes, which I despise in almost every way imaginable, but I once owned and liked a Creative Nomad Jukebox 3 where step one is &#8220;Get third party replacement software,&#8221; and the situation is much the same with Apple.  Also, removable storage counts as a plus for Android, but Apple hasn&#8217;t expressed a dogmatic position against it, so the fact that no iDevice has had a microSD or similar slot isn&#8217;t a fundamental platform problem, just an issue with their existing hardware.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is a response to &#8220;what about iOS?&#8221; questions from my calling Android &#8220;the last promising mobile platform standing&#8221; in the boilerplate for the posts I&#8217;ve been making about problems with Android. I come prepared with a list from my &hellip; <a href=\"https:\/\/pappp.net\/?p=765\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,8,37,1],"tags":[155,23,160],"class_list":["post-765","post","type-post","status-publish","format-standard","hentry","category-computers","category-diy","category-electronics","category-general","tag-android","tag-hate","tag-ios"],"_links":{"self":[{"href":"https:\/\/pappp.net\/index.php?rest_route=\/wp\/v2\/posts\/765","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pappp.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pappp.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pappp.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pappp.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=765"}],"version-history":[{"count":0,"href":"https:\/\/pappp.net\/index.php?rest_route=\/wp\/v2\/posts\/765\/revisions"}],"wp:attachment":[{"href":"https:\/\/pappp.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=765"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pappp.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=765"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pappp.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=765"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}