<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Steve Jobs&#8217; Response: A Brief Followup</title>
	<atom:link href="http://www.taoeffect.com/blog/2010/04/steve-jobs-response-a-brief-followup/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.taoeffect.com/blog/2010/04/steve-jobs-response-a-brief-followup/</link>
	<description>Notice the Tao Effects...</description>
	<lastBuildDate>Fri, 18 Nov 2011 16:53:17 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Greg Slepak</title>
		<link>http://www.taoeffect.com/blog/2010/04/steve-jobs-response-a-brief-followup/comment-page-1/#comment-1562</link>
		<dc:creator>Greg Slepak</dc:creator>
		<pubDate>Mon, 12 Apr 2010 17:37:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.taoeffect.com/blog/?p=2030#comment-1562</guid>
		<description>&quot;Would it be possible for one of these banned development environments to change to a preprocessor and output Objective C source code?&quot;

@Lawrence, that&#039;s exactly what Unity3D does, and no, that&#039;s not a way around 3.3.1, which explicitly forbids that because the game was &quot;originally written&quot; in a language other than C/C++/Objective-C. Plus, if this were OK, Adobe would be able to use this technique to get their stuff on the iPhone, which seems to be exactly the scenario 3.3.1 was designed to block.

Regarding Firefox, I actually prefer how Firefox does copy/paste: http://cl.ly/Hws</description>
		<content:encoded><![CDATA[<p>&#8220;Would it be possible for one of these banned development environments to change to a preprocessor and output Objective C source code?&#8221;</p>
<p>@Lawrence, that&#8217;s exactly what Unity3D does, and no, that&#8217;s not a way around 3.3.1, which explicitly forbids that because the game was &#8220;originally written&#8221; in a language other than C/C++/Objective-C. Plus, if this were OK, Adobe would be able to use this technique to get their stuff on the iPhone, which seems to be exactly the scenario 3.3.1 was designed to block.</p>
<p>Regarding Firefox, I actually prefer how Firefox does copy/paste: <a href="http://cl.ly/Hws" rel="nofollow">http://cl.ly/Hws</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lawrence Rhodes</title>
		<link>http://www.taoeffect.com/blog/2010/04/steve-jobs-response-a-brief-followup/comment-page-1/#comment-1561</link>
		<dc:creator>Lawrence Rhodes</dc:creator>
		<pubDate>Mon, 12 Apr 2010 16:46:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.taoeffect.com/blog/?p=2030#comment-1561</guid>
		<description>Would it be possible for one of these banned development environments to change to a preprocessor and output Objective C source code? That would seem to be a way around the ban.

For me, Firefox&#039;s main shortcoming is that copying rich text from it doesn&#039;t work well, where Safari is very good. I have a habit of saving snippets from websites and prefer their original formatting.</description>
		<content:encoded><![CDATA[<p>Would it be possible for one of these banned development environments to change to a preprocessor and output Objective C source code? That would seem to be a way around the ban.</p>
<p>For me, Firefox&#8217;s main shortcoming is that copying rich text from it doesn&#8217;t work well, where Safari is very good. I have a habit of saving snippets from websites and prefer their original formatting.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Per Arve</title>
		<link>http://www.taoeffect.com/blog/2010/04/steve-jobs-response-a-brief-followup/comment-page-1/#comment-1560</link>
		<dc:creator>Per Arve</dc:creator>
		<pubDate>Mon, 12 Apr 2010 14:33:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.taoeffect.com/blog/?p=2030#comment-1560</guid>
		<description>Technologies like flash is used to make products like farmville that catches a lot of users. On a device with a lot of power, such inefficient products may be ok, but on the devices we are addressing here, it is not. 

I can hear when my wife is onto farmville because the fan of her computer is running high. How come such simple functionality uses so much power? 

Please, use my battery with care.

I think much of the response seen above come from seasoned developers protecting their personal investments. 

Modern devices should not be burdened with old paradigms. New developers should not be led to follow older colleagues bad habits.

On the same note, objective-c is of course not necessarily the final point of computer languages. The point worth attention is, how to promote battery saving and developer friendly coding practices. 

Address that and you will surely get Apples positive attention.</description>
		<content:encoded><![CDATA[<p>Technologies like flash is used to make products like farmville that catches a lot of users. On a device with a lot of power, such inefficient products may be ok, but on the devices we are addressing here, it is not. </p>
<p>I can hear when my wife is onto farmville because the fan of her computer is running high. How come such simple functionality uses so much power? </p>
<p>Please, use my battery with care.</p>
<p>I think much of the response seen above come from seasoned developers protecting their personal investments. </p>
<p>Modern devices should not be burdened with old paradigms. New developers should not be led to follow older colleagues bad habits.</p>
<p>On the same note, objective-c is of course not necessarily the final point of computer languages. The point worth attention is, how to promote battery saving and developer friendly coding practices. </p>
<p>Address that and you will surely get Apples positive attention.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mjk</title>
		<link>http://www.taoeffect.com/blog/2010/04/steve-jobs-response-a-brief-followup/comment-page-1/#comment-1559</link>
		<dc:creator>Mjk</dc:creator>
		<pubDate>Mon, 12 Apr 2010 09:30:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.taoeffect.com/blog/?p=2030#comment-1559</guid>
		<description>I just love a good fiction writing. Steve and his replies. :) Just cracks me up.  
(still not convinced that that is Steve in those replies ... but you make a lot of good points)

Although I am not a big apple fan, i am a developer. And for apple to cut me of tools such as mono for cross platform dev is completely absurd. 

Why should i rewrite all the libs that already exist and add thousands of lines of untested code if there is already tested and widely used libs for it. 

Simply don&#039;t see any of devs who have extensive experience to switch to strictly iphone dev if it is easier to develop for symbian, Maemo, android and palm with cross platform tool (write once, ...).

Oh and btw: Nokia found the hard way that closing your platform is bad for business. Once a giant nobody could touch is now abandoning Symbian for Maemo on smart phones ... 
As for google goes: If it wasn&#039;t for the privacy issues it would be a model, how to be a company. It helps developers not only with opening code to its platforms, but also by publishing libs that help development. And as my vote goes it wins over apples &quot;Mine ... all mine&#039; attitude. Even if they have the prettiest of phones.   

(google fan :) )</description>
		<content:encoded><![CDATA[<p>I just love a good fiction writing. Steve and his replies. <img src='http://www.taoeffect.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Just cracks me up.<br />
(still not convinced that that is Steve in those replies &#8230; but you make a lot of good points)</p>
<p>Although I am not a big apple fan, i am a developer. And for apple to cut me of tools such as mono for cross platform dev is completely absurd. </p>
<p>Why should i rewrite all the libs that already exist and add thousands of lines of untested code if there is already tested and widely used libs for it. </p>
<p>Simply don&#8217;t see any of devs who have extensive experience to switch to strictly iphone dev if it is easier to develop for symbian, Maemo, android and palm with cross platform tool (write once, &#8230;).</p>
<p>Oh and btw: Nokia found the hard way that closing your platform is bad for business. Once a giant nobody could touch is now abandoning Symbian for Maemo on smart phones &#8230;<br />
As for google goes: If it wasn&#8217;t for the privacy issues it would be a model, how to be a company. It helps developers not only with opening code to its platforms, but also by publishing libs that help development. And as my vote goes it wins over apples &#8220;Mine &#8230; all mine&#8217; attitude. Even if they have the prettiest of phones.   </p>
<p>(google fan <img src='http://www.taoeffect.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anon</title>
		<link>http://www.taoeffect.com/blog/2010/04/steve-jobs-response-a-brief-followup/comment-page-1/#comment-1555</link>
		<dc:creator>Anon</dc:creator>
		<pubDate>Mon, 12 Apr 2010 06:43:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.taoeffect.com/blog/?p=2030#comment-1555</guid>
		<description>I think the biggest issue with Section 3.3.1 is that it prohibits the use of other tools.  Specifically, look at the tool OpenPlug ECLIPS.  It allows a developer to write in Flex/AS3 and it in turn translates that and generates a native Object-C app.  You then have to compile that on a Mac with XCode.  So, how is that bad?  But according to 3.3.1 we can&#039;t do that anymore.  Its a horrible move by Apple. 

Lastly, what about:

Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs.

Does this mean we can no longer call Facebook, Twitter, or Google API&#039;s?  What about calling my own API in my cloud that allows me to get data back for my custom app?

Apple has really messed up here.</description>
		<content:encoded><![CDATA[<p>I think the biggest issue with Section 3.3.1 is that it prohibits the use of other tools.  Specifically, look at the tool OpenPlug ECLIPS.  It allows a developer to write in Flex/AS3 and it in turn translates that and generates a native Object-C app.  You then have to compile that on a Mac with XCode.  So, how is that bad?  But according to 3.3.1 we can&#8217;t do that anymore.  Its a horrible move by Apple. </p>
<p>Lastly, what about:</p>
<p>Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs.</p>
<p>Does this mean we can no longer call Facebook, Twitter, or Google API&#8217;s?  What about calling my own API in my cloud that allows me to get data back for my custom app?</p>
<p>Apple has really messed up here.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve</title>
		<link>http://www.taoeffect.com/blog/2010/04/steve-jobs-response-a-brief-followup/comment-page-1/#comment-1554</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Mon, 12 Apr 2010 06:13:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.taoeffect.com/blog/?p=2030#comment-1554</guid>
		<description>Just my cross posted thoughts. 

Certainly terrible for Flash (cross compiler approach). I do think many people are reading into this way to much. This does not prevent game middle ware such as Unity. Unity creates a xCode project to be compiled by the apple tool chain. The scripts are compiled to ARM assembly and do not link against the Coca libraries as far as I am aware. They are only for controlling the game engine. I would imagine every major game studio does the same (no embedded scripting allowed).

The 3.3.1 article in question states ‘originally written’. This does not imply nor does it explicitly state a human had to write the code. If that were the case then you could not use xCode or IB to write code for the iPhone. Translators and generators at the source code level are fine. The input to these tools is irrelevant. You are free to use whatever language you wish to compile to ARM assembly for use in your own code. You can not however link against the frameworks. You can use C# to write algorithms, compile using GCC/LLVM to object code and then link this object file in your final executable. No issues.

What they are preventing is intermediaries. They are preventing tools/middleware from acting as an intermediary during the compilation process of languages other then the ones specified. This is the reason for the term ‘link’ and the clarification that follows this sentence.

If anything apple need to specifically state the terms in language that is far from interpretive.</description>
		<content:encoded><![CDATA[<p>Just my cross posted thoughts. </p>
<p>Certainly terrible for Flash (cross compiler approach). I do think many people are reading into this way to much. This does not prevent game middle ware such as Unity. Unity creates a xCode project to be compiled by the apple tool chain. The scripts are compiled to ARM assembly and do not link against the Coca libraries as far as I am aware. They are only for controlling the game engine. I would imagine every major game studio does the same (no embedded scripting allowed).</p>
<p>The 3.3.1 article in question states ‘originally written’. This does not imply nor does it explicitly state a human had to write the code. If that were the case then you could not use xCode or IB to write code for the iPhone. Translators and generators at the source code level are fine. The input to these tools is irrelevant. You are free to use whatever language you wish to compile to ARM assembly for use in your own code. You can not however link against the frameworks. You can use C# to write algorithms, compile using GCC/LLVM to object code and then link this object file in your final executable. No issues.</p>
<p>What they are preventing is intermediaries. They are preventing tools/middleware from acting as an intermediary during the compilation process of languages other then the ones specified. This is the reason for the term ‘link’ and the clarification that follows this sentence.</p>
<p>If anything apple need to specifically state the terms in language that is far from interpretive.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lyman</title>
		<link>http://www.taoeffect.com/blog/2010/04/steve-jobs-response-a-brief-followup/comment-page-1/#comment-1553</link>
		<dc:creator>Lyman</dc:creator>
		<pubDate>Mon, 12 Apr 2010 04:26:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.taoeffect.com/blog/?p=2030#comment-1553</guid>
		<description>Chuckle,  Just  happened to bump into this after seeing Flash HTML5 Canvas pop up on twitter as a trending topic. 

http://www.readwriteweb.com/archives/flash_now_importable_to_hmtl_canvas.php?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+readwriteweb+%28ReadWriteWeb%29

Notice that this too is banned by 3.3.1 .   Flash/Actionscript dialect  is being translated by into HTML5/Javascript by the Adobe tools (not at run time but prior to deployment).   It is being written but doesn&#039;t originate in Apple specific Javascript.  
Sure Adobe is also pushing the Flash translation/glue adaptor (and are taking opportunity in associated video to so that performance is actually better), but that isn&#039;t sole translation they are supporting. 

The developer has a set of choices on how to deploy the simulation in the video.  There are different tradeoffs for each one.  In some cases that translation may be applicable and in others not.   The terms of a SDK contract is a rather curious place to resolve those tradeoffs.</description>
		<content:encoded><![CDATA[<p>Chuckle,  Just  happened to bump into this after seeing Flash HTML5 Canvas pop up on twitter as a trending topic. </p>
<p><a href="http://www.readwriteweb.com/archives/flash_now_importable_to_hmtl_canvas.php?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+readwriteweb+%28ReadWriteWeb%29" rel="nofollow">http://www.readwriteweb.com/archives/flash_now_importable_to_hmtl_canvas.php?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+readwriteweb+%28ReadWriteWeb%29</a></p>
<p>Notice that this too is banned by 3.3.1 .   Flash/Actionscript dialect  is being translated by into HTML5/Javascript by the Adobe tools (not at run time but prior to deployment).   It is being written but doesn&#8217;t originate in Apple specific Javascript.<br />
Sure Adobe is also pushing the Flash translation/glue adaptor (and are taking opportunity in associated video to so that performance is actually better), but that isn&#8217;t sole translation they are supporting. </p>
<p>The developer has a set of choices on how to deploy the simulation in the video.  There are different tradeoffs for each one.  In some cases that translation may be applicable and in others not.   The terms of a SDK contract is a rather curious place to resolve those tradeoffs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rupak Ganguly</title>
		<link>http://www.taoeffect.com/blog/2010/04/steve-jobs-response-a-brief-followup/comment-page-1/#comment-1552</link>
		<dc:creator>Rupak Ganguly</dc:creator>
		<pubDate>Mon, 12 Apr 2010 04:13:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.taoeffect.com/blog/?p=2030#comment-1552</guid>
		<description>After I bought my first iPod, I had no doubts buying when the iPhone was released. Apple products have an impeccable sense for  user experience. Everyone wants to own an iPhone and every developer like me would like to write apps for it. It is very disheartening to see Apple&#039;s stance towards banning cross-platform toolkits to build iPhone apps. I was drawn to buying a Mac to build apps for iPhone because I could work with my familiar toolkit/language. iPhone SDK was the first sign that Apple wanted to care and welcome developers to write code for its so called closed platform and several cross-platform toolkits were announced and flourished. The TOS Section 3.3.1 announcement is just closing the doors on the developer community. It is not only a loss to the developer community but to the  user community as well.  I hope the situation is reviewed and rectified by Apple. It is a humble plea...</description>
		<content:encoded><![CDATA[<p>After I bought my first iPod, I had no doubts buying when the iPhone was released. Apple products have an impeccable sense for  user experience. Everyone wants to own an iPhone and every developer like me would like to write apps for it. It is very disheartening to see Apple&#8217;s stance towards banning cross-platform toolkits to build iPhone apps. I was drawn to buying a Mac to build apps for iPhone because I could work with my familiar toolkit/language. iPhone SDK was the first sign that Apple wanted to care and welcome developers to write code for its so called closed platform and several cross-platform toolkits were announced and flourished. The TOS Section 3.3.1 announcement is just closing the doors on the developer community. It is not only a loss to the developer community but to the  user community as well.  I hope the situation is reviewed and rectified by Apple. It is a humble plea&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Greg Slepak</title>
		<link>http://www.taoeffect.com/blog/2010/04/steve-jobs-response-a-brief-followup/comment-page-1/#comment-1551</link>
		<dc:creator>Greg Slepak</dc:creator>
		<pubDate>Mon, 12 Apr 2010 03:31:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.taoeffect.com/blog/?p=2030#comment-1551</guid>
		<description>@Jason Good point, which means they&#039;d actually be violating two parts of the agreement: 3.3.1 and 3.3.2.</description>
		<content:encoded><![CDATA[<p>@Jason Good point, which means they&#8217;d actually be violating two parts of the agreement: 3.3.1 and 3.3.2.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lyman</title>
		<link>http://www.taoeffect.com/blog/2010/04/steve-jobs-response-a-brief-followup/comment-page-1/#comment-1550</link>
		<dc:creator>Lyman</dc:creator>
		<pubDate>Mon, 12 Apr 2010 03:02:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.taoeffect.com/blog/?p=2030#comment-1550</guid>
		<description>I think a significant amount of the friction against the change could be removed if Apple just changed 

&quot;Applications must be originally written in ...&quot; 

to  

&quot;Applications must be innovatively written  in ...&quot;  

To see what getting at on a Mac go to the dictionary app and look up the word &quot;originally&quot;.   There are two connotations of that a word.  The first is the identify the origin of something.  The second is to be novel or innovative.  


That is what the core issue of the  real debate should be about.  Whether to follow a restrictive, narrow path to applications or a novel and innovative path. 

From the example cited later in 3.3.1 it seems likely that Apple wants to choose the first meaning.  As Gruber&#039;s article points out this is at the core issue about vendor lock in.   (not quality  user experience, vendor lock in. Developers much narrowly follow Apple&#039;s path no matter what they choose to do. ) 

Note that this restriction bans not only Flash but utilizing assembler for any critical section of code.   It bans both faster and slower approaches the construction of  and execution speed of  apps.  That is primarily because it is about restricting the origins of the apps rather than any quality goal.   Almost all of the hand waving about quality lapses into subjective judgments on narrow subareas of user experience.  

If the application is developed using a slightly different language with some syntactic sugar that is more oriented to the problem domain than raw Obj-C/C/C++ are then what is the hang up if the syntactic different is pre-compiled into  Obj-C/C and an application is built ?    There is no difference. 

Second, this is even somewhat hypocritical on Apple&#039;s part.  Two examples. 

1. XCode tools UML code generation abilities.  Apple itself builds tool to take elements of a program written in a representation that supports better long term maintainability and automatically generate code from that.     There is zero reason to keep software development in the stone age where the sole valid representation of the development is text in some file.    For substantive elements of many application text isn&#039;t necessarily the best long term representation of the application that provides the clearest representation to the developer. 
[ In the Gold Rush , &quot;throw away&quot;  AppStore perhaps that is a secondary issue.  ] 

2. iTunes and Safari on Windows.  If Apple is so dedicated to its core on user experience how come those aren&#039;t rewritten from scratch, pure Windows user experiences ? 

Organizations that have very large code bases to port typically can&#039;t afford to start over from scratch to built a very that is a a port.  They will typically use some combination of tools or techniques  to bring over the bulk of the application between platforms.    

For example,  a Flash to Javascript/HTML5  translator could perhaps do 50-90% of the translation leaving just the remaining percentage to be manually translated. 
ActionScript 3  is a dialect of EMCAScript (http://en.wikipedia.org/wiki/ActionScrip_3). So is Javascript.  Related in a similar what to how Obj-C is to C.   What Apple has done here is ban anyone who wanted to do a port but try to reuse the maximum practical amount of code. 

Adobe was doing something different.  I suspect they were compiling straight to binary so they&#039;d still be banned with the change.   However, there were other tools that were trying to do things the right way.  Apple banned them to by focusing more so on being an obstructive  than fostering innovation in doing things the &quot;right&quot; way. 

So when folks howl about Adobe being slow to 64-bit ( even after Apple canceled Carbon-64 after stating they would do it. This also follow 68K to PPC transition and Mac OS 9 to Mac OS X transition which all had associated migration costs.). The thought experiement should be if you were given a code base of 3-6 million lines of code and told to port from one API to a new incompatible one how would you do it. 
Would how long the code base been in existence have any impact on your decision ( 2 year old app versus a 8 year old app. ) ? 

Finally, Meta framework often fail because they are too broad.  A framework for any and all applications will have problems.  That is not necesarily true if you narrow the scope.  If aim the framework at multiplatform  word processing apps or multiplatform IM app then the constraints on GUI concepts can become tight enough that can compose in an abstract RAD environment and generate very close to native representations.    Again Apple has thrown that out the window because tools can&#039;t be utilized to compose applications. 

Apple doesn&#039;t care because just want vendor lock-in.  Squashing innovative approaches to composing apps isn&#039;t their problem.  The AppStore has too many apps. They really don&#039;t need any more to make lots of money so they are taking the calculating step to squash an even higher rate of growth which happens to also negatively impact their competitors. 


 P.S. The timeliness of porting programming frameworks isn&#039;t a problem if the framework developers are clued in eariler in the process.  Similar to how the Wall Street Journal got iPads when the rest of the vast developer base was stuck with a not quite so accurate simulator. 

In the iPhoneOS 4 demos the developers said most of the changes were localized and took hours/days to make the changes.  It isn&#039;t like Apple would have to release info under NDA months in advance. If the tentpole changes are present in the commonly generated code by the tool then the next build will easily pick them up.  

In short there really are very few technical issues here that block good, high quality apps here given that the tool makers are just as dedicated to app quality as the developers who use them are. 

This is primarily a  power, money move on Apple&#039;s part.</description>
		<content:encoded><![CDATA[<p>I think a significant amount of the friction against the change could be removed if Apple just changed </p>
<p>&#8220;Applications must be originally written in &#8230;&#8221; </p>
<p>to  </p>
<p>&#8220;Applications must be innovatively written  in &#8230;&#8221;  </p>
<p>To see what getting at on a Mac go to the dictionary app and look up the word &#8220;originally&#8221;.   There are two connotations of that a word.  The first is the identify the origin of something.  The second is to be novel or innovative.  </p>
<p>That is what the core issue of the  real debate should be about.  Whether to follow a restrictive, narrow path to applications or a novel and innovative path. </p>
<p>From the example cited later in 3.3.1 it seems likely that Apple wants to choose the first meaning.  As Gruber&#8217;s article points out this is at the core issue about vendor lock in.   (not quality  user experience, vendor lock in. Developers much narrowly follow Apple&#8217;s path no matter what they choose to do. ) </p>
<p>Note that this restriction bans not only Flash but utilizing assembler for any critical section of code.   It bans both faster and slower approaches the construction of  and execution speed of  apps.  That is primarily because it is about restricting the origins of the apps rather than any quality goal.   Almost all of the hand waving about quality lapses into subjective judgments on narrow subareas of user experience.  </p>
<p>If the application is developed using a slightly different language with some syntactic sugar that is more oriented to the problem domain than raw Obj-C/C/C++ are then what is the hang up if the syntactic different is pre-compiled into  Obj-C/C and an application is built ?    There is no difference. </p>
<p>Second, this is even somewhat hypocritical on Apple&#8217;s part.  Two examples. </p>
<p>1. XCode tools UML code generation abilities.  Apple itself builds tool to take elements of a program written in a representation that supports better long term maintainability and automatically generate code from that.     There is zero reason to keep software development in the stone age where the sole valid representation of the development is text in some file.    For substantive elements of many application text isn&#8217;t necessarily the best long term representation of the application that provides the clearest representation to the developer.<br />
[ In the Gold Rush , "throw away"  AppStore perhaps that is a secondary issue.  ] </p>
<p>2. iTunes and Safari on Windows.  If Apple is so dedicated to its core on user experience how come those aren&#8217;t rewritten from scratch, pure Windows user experiences ? </p>
<p>Organizations that have very large code bases to port typically can&#8217;t afford to start over from scratch to built a very that is a a port.  They will typically use some combination of tools or techniques  to bring over the bulk of the application between platforms.    </p>
<p>For example,  a Flash to Javascript/HTML5  translator could perhaps do 50-90% of the translation leaving just the remaining percentage to be manually translated.<br />
ActionScript 3  is a dialect of EMCAScript (<a href="http://en.wikipedia.org/wiki/ActionScrip_3" rel="nofollow">http://en.wikipedia.org/wiki/ActionScrip_3</a>). So is Javascript.  Related in a similar what to how Obj-C is to C.   What Apple has done here is ban anyone who wanted to do a port but try to reuse the maximum practical amount of code. </p>
<p>Adobe was doing something different.  I suspect they were compiling straight to binary so they&#8217;d still be banned with the change.   However, there were other tools that were trying to do things the right way.  Apple banned them to by focusing more so on being an obstructive  than fostering innovation in doing things the &#8220;right&#8221; way. </p>
<p>So when folks howl about Adobe being slow to 64-bit ( even after Apple canceled Carbon-64 after stating they would do it. This also follow 68K to PPC transition and Mac OS 9 to Mac OS X transition which all had associated migration costs.). The thought experiement should be if you were given a code base of 3-6 million lines of code and told to port from one API to a new incompatible one how would you do it.<br />
Would how long the code base been in existence have any impact on your decision ( 2 year old app versus a 8 year old app. ) ? </p>
<p>Finally, Meta framework often fail because they are too broad.  A framework for any and all applications will have problems.  That is not necesarily true if you narrow the scope.  If aim the framework at multiplatform  word processing apps or multiplatform IM app then the constraints on GUI concepts can become tight enough that can compose in an abstract RAD environment and generate very close to native representations.    Again Apple has thrown that out the window because tools can&#8217;t be utilized to compose applications. </p>
<p>Apple doesn&#8217;t care because just want vendor lock-in.  Squashing innovative approaches to composing apps isn&#8217;t their problem.  The AppStore has too many apps. They really don&#8217;t need any more to make lots of money so they are taking the calculating step to squash an even higher rate of growth which happens to also negatively impact their competitors. </p>
<p> P.S. The timeliness of porting programming frameworks isn&#8217;t a problem if the framework developers are clued in eariler in the process.  Similar to how the Wall Street Journal got iPads when the rest of the vast developer base was stuck with a not quite so accurate simulator. </p>
<p>In the iPhoneOS 4 demos the developers said most of the changes were localized and took hours/days to make the changes.  It isn&#8217;t like Apple would have to release info under NDA months in advance. If the tentpole changes are present in the commonly generated code by the tool then the next build will easily pick them up.  </p>
<p>In short there really are very few technical issues here that block good, high quality apps here given that the tool makers are just as dedicated to app quality as the developers who use them are. </p>
<p>This is primarily a  power, money move on Apple&#8217;s part.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

