{"id":36,"date":"2010-04-30T21:27:00","date_gmt":"2010-05-01T05:27:00","guid":{"rendered":"http:\/\/bynomial.com\/blog\/?p=36"},"modified":"2010-04-30T21:31:16","modified_gmt":"2010-05-01T05:31:16","slug":"whats-wrong-with-flash","status":"publish","type":"post","link":"http:\/\/bynomial.com\/blog\/?p=36","title":{"rendered":"What&#8217;s wrong with Flash?"},"content":{"rendered":"<p>Unless you&#8217;ve been living in a cave, you&#8217;ve already heard about Apple&#8217;s anti-Flash sentiments which were explicitly defended by <a href=\"http:\/\/www.apple.com\/hotnews\/thoughts-on-flash\/\">a public note from Steve Jobs<\/a> yesterday.  My two cents: he&#8217;s right, but Apple is still coming across as pushy.<\/p>\n<h2>The cross-platform blues<\/h2>\n<p>As a young na\u00c3\u00afve developer, I once craved the power of cross-platform tools. I enjoyed using <a href=\"http:\/\/en.wikipedia.org\/wiki\/Qt_(framework)\">Qt<\/a> and dreamed of a world where your choice of OS didn&#8217;t always determine which apps you could run &#8211; because they would all run everywhere. I drank the early Java cool-aid and bought into <a href=\"http:\/\/en.wikipedia.org\/wiki\/Swing_(Java)\">swing<\/a> &#8211; and that&#8217;s when I started to realize that cross-platform development is not a panacea.<\/p>\n<p>Here&#8217;s the thing: there are a lot of platforms for a reason. If a platform clearly has no advantages over it&#8217;s competitors, it fails. And if you insist on writing for the lowest common denominator, by definition you&#8217;re sacrificing the exclusive advantages of every platform.  It&#8217;s that simple.<\/p>\n<p>There are a few counterarguments. Some applications only <em>need<\/em> the lowest common denominator to do what they do. And sometimes, this can work. But these apps don&#8217;t feel as native. Because they&#8217;re not pushing the limits, they&#8217;re usually not killer apps. And for mobile devices, they sacrifice hardware-specific design.<\/p>\n<p>What about a great open project like Firefox?  It works on all major platforms with the help of cross-platform tools. \u00c2\u00a0This example is much more of an exception than a rule when it comes to portable code for two reasons. \u00c2\u00a0First, this is an extraordinarily high-profile and popular open-source effort that has attracted a huge amount of work by top quality coders; not a position your average software project is going to enjoy. \u00c2\u00a0Second, and perhaps even more importantly, this project <em>started<\/em> by creating their own suite of cross-development tools, such as Gecko. \u00c2\u00a0This is <em>not<\/em> a case of one nice general cross-platform toolkit acting as the framework for an independently constructed application.<\/p>\n<h2>Back to Steve<\/h2>\n<p>Of course, that&#8217;s just one of the six points Steve Jobs pointed out in his letter, but it&#8217;s the one that resonates the most for me.<\/p>\n<p>The thing is, people thinking about this move aren&#8217;t going to sit around and weigh the pro&#8217;s and con&#8217;s. \u00c2\u00a0They&#8217;re thinking &#8220;oh crap I can&#8217;t port this to iPhone&#8221; or &#8220;should I switch to Android or html5?&#8221; or &#8220;am I morally wrong to support Apple as a developer?&#8221; \u00c2\u00a0Because the move <em>feels<\/em> wrong &#8212; it feels like a personal decision.<\/p>\n<p>And that brings us to personalities and companies. \u00c2\u00a0Companies have personalities, and they&#8217;re driven by their leaders. \u00c2\u00a0To give Adobe a little more say here I should mention <a href=\"http:\/\/theflashblog.com\/?p=1888\">Lee Brimelow&#8217;s eloquent take on things<\/a> &#8212; this guy puts a personality to the company (Adobe).<\/p>\n<p>We, the Apple-followers, feel like we know what Steve Jobs is like. \u00c2\u00a0There&#8217;s so much of him in what Apple is, it&#8217;s tricky to separate the two. \u00c2\u00a0And this decision feels like the persistent push of a fixated vision &#8212; and that&#8217;s all Steve. \u00c2\u00a0How can you be right and yet upset so many folks at the same time? \u00c2\u00a0My speculation is that the visceral reaction is to the fact that to the Apple personality, this comes across as a personal decision.<\/p>\n<p>Yet for developers, we want to have the choices &#8212; if Flash-to-iPhone is wrong, let us make the mistake. \u00c2\u00a0Let us learn the hard way.<\/p>\n<h2>What&#8217;s next?<\/h2>\n<p>What will be the fall-out of this decision? \u00c2\u00a0Apple wants Flash to go away, and Flash wants to be everywhere. \u00c2\u00a0Neither Apple nor Adobe are going away anytime soon.<\/p>\n<p>For now, Flash is getting a lot of coder sympathy (not much for Apple on this one), and html5\/objective-C are getting a boost.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Unless you&#8217;ve been living in a cave, you&#8217;ve already heard about Apple&#8217;s anti-Flash sentiments which were explicitly defended by a public note from Steve Jobs yesterday. My two cents: he&#8217;s right, but Apple is still coming across as pushy. The cross-platform blues As a young na\u00c3\u00afve developer, I once craved the power of cross-platform tools. [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false},"categories":[43],"tags":[45,44,46],"_links":{"self":[{"href":"http:\/\/bynomial.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/36"}],"collection":[{"href":"http:\/\/bynomial.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/bynomial.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/bynomial.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/bynomial.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=36"}],"version-history":[{"count":0,"href":"http:\/\/bynomial.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/36\/revisions"}],"wp:attachment":[{"href":"http:\/\/bynomial.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=36"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/bynomial.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=36"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/bynomial.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=36"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}