{"id":474,"date":"2009-10-22T14:53:47","date_gmt":"2009-10-22T19:53:47","guid":{"rendered":"http:\/\/vgable.com\/blog\/?p=474"},"modified":"2010-01-21T17:48:18","modified_gmt":"2010-01-21T22:48:18","slug":"iphone-shows-the-irrelevance-of-the-programmer-user","status":"publish","type":"post","link":"https:\/\/vgable.com\/blog\/2009\/10\/22\/iphone-shows-the-irrelevance-of-the-programmer-user\/","title":{"rendered":"iPhone Shows the Irrelevance of the Programmer User"},"content":{"rendered":"<p>There&#8217;s a lot of discord over Apple&#8217;s draconian &#8220;closed&#8221; handling of the iPhone and App store. And rightly so. But there are a few interesting lessons in the current situation. The one I want to discuss now is that,<\/p>\n<h3>Being able to program your own computer isn&#8217;t enough to make it open<\/h3>\n<p>As things stand today, <strong>Apple can&#8217;t stop you from installing <em>any<\/em> damn iPhone app <em>if you build yourself<\/em><\/strong>.<\/p>\n<p>To do that you have to <a href=\"http:\/\/developer.apple.com\/iphone\/program\/apply.html\">join<\/a> the iPhone developer program of course. And there&#8217;s a $99\/year fee. That&#8217;s <em>inconvenient<\/em>, but it&#8217;s just using a subscription-based way of selling <cite>iPhone OS: Developer Edition<\/cite>.<\/p>\n<p>That&#8217;s the kind of dirty money-grabbing scheme I&#8217;d <a href=\"http:\/\/www.penny-arcade.com\/comic\/2007\/2\/2\/\">expect from Microsoft<\/a>. It&#8217;s a bit shady, because it&#8217;s not how most OSes are sold. But it&#8217;s not without <a href=\"http:\/\/msdn.microsoft.com\/en-us\/subscriptions\/buy.aspx\"> precedent<\/a>. And unless you are against <em>ever<\/em> charging money for software, I don&#8217;t think there&#8217;s an argument that it&#8217;s actually depriving people of <em>freedom<\/em>.<\/p>\n<p>Yes, it&#8217;s an unaffordably high price for many. But the iPhone is a <a href=\"http:\/\/sethgodin.typepad.com\/seths_blog\/2009\/05\/luxury-vs-premium.html\">premium good<\/a> that costs real money to build &#8212; it&#8217;s inherently beyond many people&#8217;s means, even when subsidized.<\/p>\n<h3>Observation: Only Binaries Matter<\/h3>\n<p>If you have a great iPhone app that Apple won&#8217;t allow into the store, you can still give it to me in source code form, and since I have <cite>iPhone OS: Developer Edition<\/cite>, I can run it on my iPhone.<\/p>\n<p>But clearly that&#8217;s not good enough.<\/p>\n<p>In fact, I&#8217;m not aware of <em>any<\/em> substantive iPhone App that&#8217;s distributed as source. By &#8220;substantive&#8221; I mean an app with a lot of users &#8212; say as many as the 100th most downloaded App Store app &#8212; or an app that does something that makes people jealous, like tethering (See update!), which we <a href=\"http:\/\/daringfireball.net\/linked\/2008\/09\/14\/netshare\">know<\/a> is possible using the SDK. I realize this is a wishy-washy definition &#8212; what I&#8217;m trying to say is that <strong>distributed-as-source iPhone Apps seem to be totally irrelevant<\/strong>.<\/p>\n<h3>&#8220;It&#8217;s not open until I can put Linux on it&#8221;<\/h3>\n<p>I believe it&#8217;s <em>technically<\/em> possible to run Linux on an iPhone without jail-breaking it. (Although it&#8217;s not terribly practical.) Just build Linux (or an <a href=\"http:\/\/bochs.sourceforge.net\/\">emulator that runs Linux<\/a>) as an iPhone app, and leave it running all the time to get around the limitations on background processes.<\/p>\n<p>Apple won&#8217;t allow such a thing into the App Store of course &#8212;<strong>but how does that stop you from distributing the source for it<\/strong>? As best I can tell, it doesn&#8217;t.<\/p>\n<p>So as things stand today, yes <strong>you can distribute source code that lets any <cite>iPhone OS: Developer Edition<\/cite> user run Linux<\/strong>. It&#8217;s technically challenging, but it&#8217;s doable.<\/p>\n<h3>Conclusion<\/h3>\n<p>It&#8217;s possible to build open systems on top of closed systems. We&#8217;ve done it before when <a href=\"http:\/\/vgable.com\/blog\/2008\/07\/06\/open-systems-can-be-built-with-closed-systems\/\">we built the internet on Ma Bell&#8217;s back<\/a>.<\/p>\n<p>But the iPhone remains a closed device. User-compiled applications have 0 momentum. And I think that clearly shows the irrelevance of the rare &#8220;programmer user&#8221;, who is comfortable dealing with the source code for the programs he uses.<\/p>\n<p>UPDATE 2010-01-21: <a href=\"http:\/\/wiki.github.com\/tcurdt\/iProxy\/\">iProxy<\/a> is an open-source project to enable tethering! Maybe the programmer-user will have their day after-all.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There&#8217;s a lot of discord over Apple&#8217;s draconian &#8220;closed&#8221; handling of the iPhone and App store. And rightly so. But there are a few interesting lessons in the current situation. The one I want to discuss now is that, Being able to program your own computer isn&#8217;t enough to make it open As things stand [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[203,8],"tags":[479,167,84,64,82],"class_list":["post-474","post","type-post","status-publish","format-standard","hentry","category-iphone","category-usability","tag-app-store","tag-apple","tag-business","tag-failure","tag-freedom"],"_links":{"self":[{"href":"https:\/\/vgable.com\/blog\/wp-json\/wp\/v2\/posts\/474","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vgable.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vgable.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vgable.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vgable.com\/blog\/wp-json\/wp\/v2\/comments?post=474"}],"version-history":[{"count":5,"href":"https:\/\/vgable.com\/blog\/wp-json\/wp\/v2\/posts\/474\/revisions"}],"predecessor-version":[{"id":562,"href":"https:\/\/vgable.com\/blog\/wp-json\/wp\/v2\/posts\/474\/revisions\/562"}],"wp:attachment":[{"href":"https:\/\/vgable.com\/blog\/wp-json\/wp\/v2\/media?parent=474"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vgable.com\/blog\/wp-json\/wp\/v2\/categories?post=474"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vgable.com\/blog\/wp-json\/wp\/v2\/tags?post=474"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}