<?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: The Myth Of Cocoa Apps</title>
	<atom:link href="http://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/</link>
	<description>Living in a state of accord.</description>
	<lastBuildDate>Fri, 12 Mar 2010 07:41:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Shawn Morel</title>
		<link>http://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/comment-page-2/#comment-134197</link>
		<dc:creator>Shawn Morel</dc:creator>
		<pubDate>Mon, 26 Nov 2007 18:48:24 +0000</pubDate>
		<guid isPermaLink="false">https://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/#comment-134197</guid>
		<description>Those kinds of bugs have nothing to do with Cocoa. Bugs are inherent in the *current* way we develop software.

Having developed both client and web software on a variety of platforms I&#039;d like to venture that there are a class of bugs that are possibly Cocoa only but they have to do with scaling rather than destructiveness. Since Cocoa isn&#039;t as wide-spread as platforms like Java and .Net it&#039;s harder to figure out what patterns to use when. This is made worse by the fact that Cocoa has certain concepts (like nibs) that aren&#039;t used very much elsewhere. The question of how do I architect a large-scale Cocoa app is one I&#039;ve asked myself several times as I&#039;ve written larger and larger ones. There just aren&#039;t that many examples to learn from out there.</description>
		<content:encoded><![CDATA[<p>Those kinds of bugs have nothing to do with Cocoa. Bugs are inherent in the *current* way we develop software.</p>
<p>Having developed both client and web software on a variety of platforms I&#8217;d like to venture that there are a class of bugs that are possibly Cocoa only but they have to do with scaling rather than destructiveness. Since Cocoa isn&#8217;t as wide-spread as platforms like Java and .Net it&#8217;s harder to figure out what patterns to use when. This is made worse by the fact that Cocoa has certain concepts (like nibs) that aren&#8217;t used very much elsewhere. The question of how do I architect a large-scale Cocoa app is one I&#8217;ve asked myself several times as I&#8217;ve written larger and larger ones. There just aren&#8217;t that many examples to learn from out there.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ingemar</title>
		<link>http://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/comment-page-2/#comment-133801</link>
		<dc:creator>Ingemar</dc:creator>
		<pubDate>Sun, 25 Nov 2007 08:25:55 +0000</pubDate>
		<guid isPermaLink="false">https://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/#comment-133801</guid>
		<description>There is one small detail that I havn&#039;t seen mentioned here:

Cocoa applications tend to be horribly buggy! To cite Steve Jobs: &quot;I don&#039;t mean in a small way, I mean in a big way&quot;. Apple&#039;s own Cocoa apps have a very bad track record of really, really ugly bugs, destroying user data. Two examples:

- Garageband can/could delete your recorded tracks when you hit &quot;save&quot;. This happens often, and for absolutely no apparent reason.
- iPhoto can/could delete pictures from your camera after failing to download them.

That&#039;s the worst two, but they are really big. That kind of bugs should not exist in an app that is above 1.0. It is all too obvious that Apple&#039;s own Cocoa developers are unable to debug their own applications. Could this be something that happens due to the different workflow?

How about lockup-prone apps like Disk Utility and DVD Player? They are the only Mac applications I know that are misbehaving so bad that they cause restarts. Are they Cocoa based? And could it be Cocoa&#039;s fault that they are unreliable?

Third-party Cocoa apps also tend to be more buggy than Carbon apps, they often crash for no apparent reasons, but I havn&#039;t seen quite the same level of bad engineering that Apple have shown themselves.

So either Cocoa is a bad solution or Apple need to straighten up their quality control for Cocoa apps. Or both.</description>
		<content:encoded><![CDATA[<p>There is one small detail that I havn&#8217;t seen mentioned here:</p>
<p>Cocoa applications tend to be horribly buggy! To cite Steve Jobs: &#8220;I don&#8217;t mean in a small way, I mean in a big way&#8221;. Apple&#8217;s own Cocoa apps have a very bad track record of really, really ugly bugs, destroying user data. Two examples:</p>
<p>- Garageband can/could delete your recorded tracks when you hit &#8220;save&#8221;. This happens often, and for absolutely no apparent reason.<br />
- iPhoto can/could delete pictures from your camera after failing to download them.</p>
<p>That&#8217;s the worst two, but they are really big. That kind of bugs should not exist in an app that is above 1.0. It is all too obvious that Apple&#8217;s own Cocoa developers are unable to debug their own applications. Could this be something that happens due to the different workflow?</p>
<p>How about lockup-prone apps like Disk Utility and DVD Player? They are the only Mac applications I know that are misbehaving so bad that they cause restarts. Are they Cocoa based? And could it be Cocoa&#8217;s fault that they are unreliable?</p>
<p>Third-party Cocoa apps also tend to be more buggy than Carbon apps, they often crash for no apparent reasons, but I havn&#8217;t seen quite the same level of bad engineering that Apple have shown themselves.</p>
<p>So either Cocoa is a bad solution or Apple need to straighten up their quality control for Cocoa apps. Or both.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Symphonious &#187; Followup To The Myth Of Cocoa Apps</title>
		<link>http://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/comment-page-2/#comment-107334</link>
		<dc:creator>Symphonious &#187; Followup To The Myth Of Cocoa Apps</dc:creator>
		<pubDate>Tue, 28 Aug 2007 23:46:02 +0000</pubDate>
		<guid isPermaLink="false">https://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/#comment-107334</guid>
		<description>[...] while back I&#160;took Paul Stamatiou (and by proxy, VMWare)&#160;to task about their claim that Cocoa makes them so much more efficient. My take was that it was a Cocoa vs [...]</description>
		<content:encoded><![CDATA[<p>[...] while back I&#160;took Paul Stamatiou (and by proxy, VMWare)&#160;to task about their claim that Cocoa makes them so much more efficient. My take was that it was a Cocoa vs [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adrian Sutton</title>
		<link>http://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/comment-page-2/#comment-103991</link>
		<dc:creator>Adrian Sutton</dc:creator>
		<pubDate>Sat, 11 Aug 2007 23:11:15 +0000</pubDate>
		<guid isPermaLink="false">https://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/#comment-103991</guid>
		<description>Odysseus,
The end user should not care which framework an application uses - it&#039;s a technical detail. So yes, RealBASIC is likely to be just as good as Cocoa or Carbon if the developer puts enough effort into the application. It may take an unreasonably large amount of effort to do though.</description>
		<content:encoded><![CDATA[<p>Odysseus,<br />
The end user should not care which framework an application uses &#8211; it&#8217;s a technical detail. So yes, RealBASIC is likely to be just as good as Cocoa or Carbon if the developer puts enough effort into the application. It may take an unreasonably large amount of effort to do though.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: odysseus</title>
		<link>http://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/comment-page-2/#comment-103885</link>
		<dc:creator>odysseus</dc:creator>
		<pubDate>Sat, 11 Aug 2007 11:59:57 +0000</pubDate>
		<guid isPermaLink="false">https://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/#comment-103885</guid>
		<description>Hi Adrian,

What about RealBASIC -- just as good as Cocoa/Carbon?</description>
		<content:encoded><![CDATA[<p>Hi Adrian,</p>
<p>What about RealBASIC &#8212; just as good as Cocoa/Carbon?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gaz Hay</title>
		<link>http://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/comment-page-2/#comment-103739</link>
		<dc:creator>Gaz Hay</dc:creator>
		<pubDate>Fri, 10 Aug 2007 21:31:03 +0000</pubDate>
		<guid isPermaLink="false">https://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/#comment-103739</guid>
		<description>Any decent programmer would write in assembler and not need any frameworks.</description>
		<content:encoded><![CDATA[<p>Any decent programmer would write in assembler and not need any frameworks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Baron VC &#187; Blog Archive &#187; links for 2007-08-10</title>
		<link>http://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/comment-page-2/#comment-103725</link>
		<dc:creator>Baron VC &#187; Blog Archive &#187; links for 2007-08-10</dc:creator>
		<pubDate>Fri, 10 Aug 2007 20:25:31 +0000</pubDate>
		<guid isPermaLink="false">https://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/#comment-103725</guid>
		<description>[...] Symphonious » The Myth Of Cocoa Apps Yes, it&#8217;s true. No matter how nice the framework, you can&#8217;t save people from writing total crap. It might just look better by default though. (tags: programming cocoa osx)   Share This [...]</description>
		<content:encoded><![CDATA[<p>[...] Symphonious » The Myth Of Cocoa Apps Yes, it&#8217;s true. No matter how nice the framework, you can&#8217;t save people from writing total crap. It might just look better by default though. (tags: programming cocoa osx)   Share This [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ilgaz</title>
		<link>http://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/comment-page-2/#comment-103704</link>
		<dc:creator>Ilgaz</dc:creator>
		<pubDate>Fri, 10 Aug 2007 12:02:23 +0000</pubDate>
		<guid isPermaLink="false">https://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/#comment-103704</guid>
		<description>If those developers enlighten me a bit? I am using 64bit CPU since 2003 starting with G5 1600 and now I am on Quad G5, if something magic happened and all applications actually use 64bit accessible memory for their needs and Carbon will be seriously effected because it won&#039;t be 64bit (??), let me order 16*1 gig modules for my Quad.

All I see is horribly written apps in both carbon or cocoa which doesn&#039;t even use 4 processors and it includes Apple&#039;s own Quicktime while encoding too. A freeware dubbed &quot;amateur&quot; uses 4 CPUs while exporting H264 and Apple QT Pro uses 2. I don&#039;t see anything figuring that I got 3 GB of Free RAM and use it to buffer their data. I am speaking about multi threading and cache, not getting into stuff using 64bit addressing needs. Does it have anything to do with Carbon or Cocoa? Not of course..

Cocoa is good for something: It effectively shows horribly written code pretty and professional. That is my opinion as a video editor of course. Some of the tools which some developers hoped they will die (yes, weird developer scene) after Mactel transtition have moved to Cocoa and we didn&#039;t see they get magical speed boost or anything at all. They also ship CFM alternative and as a Quad G5 owner, I use the Carbon one since it is much more compatible with current plugins etc. Both have similar speed, same UI issues. What happened to Cocoa magic?</description>
		<content:encoded><![CDATA[<p>If those developers enlighten me a bit? I am using 64bit CPU since 2003 starting with G5 1600 and now I am on Quad G5, if something magic happened and all applications actually use 64bit accessible memory for their needs and Carbon will be seriously effected because it won&#8217;t be 64bit (??), let me order 16*1 gig modules for my Quad.</p>
<p>All I see is horribly written apps in both carbon or cocoa which doesn&#8217;t even use 4 processors and it includes Apple&#8217;s own Quicktime while encoding too. A freeware dubbed &#8220;amateur&#8221; uses 4 CPUs while exporting H264 and Apple QT Pro uses 2. I don&#8217;t see anything figuring that I got 3 GB of Free RAM and use it to buffer their data. I am speaking about multi threading and cache, not getting into stuff using 64bit addressing needs. Does it have anything to do with Carbon or Cocoa? Not of course..</p>
<p>Cocoa is good for something: It effectively shows horribly written code pretty and professional. That is my opinion as a video editor of course. Some of the tools which some developers hoped they will die (yes, weird developer scene) after Mactel transtition have moved to Cocoa and we didn&#8217;t see they get magical speed boost or anything at all. They also ship CFM alternative and as a Quad G5 owner, I use the Carbon one since it is much more compatible with current plugins etc. Both have similar speed, same UI issues. What happened to Cocoa magic?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: God of Biscuits</title>
		<link>http://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/comment-page-2/#comment-103628</link>
		<dc:creator>God of Biscuits</dc:creator>
		<pubDate>Thu, 09 Aug 2007 18:42:51 +0000</pubDate>
		<guid isPermaLink="false">https://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/#comment-103628</guid>
		<description>Having done Cocoa, Carbon, PowerPlant, MacApp (Pascal and C++) and roll-your-own C applications for Mac OS 9/X over the years, I have to say that Jim Hillhouse gets it exactly right.

Nothing works better than the combination of Cocoa, Xcode and IB.  Prototypes of small applications can become high-quality shippable apps because of Cocoa&#039;s ability to do most everything on the UI side &quot;quick-and-clean&quot;.

I&#039;d add something to what Jim says, however:  rewrites do not have to be an all-or-nothing proposition. The parts of a legacy or other-platform app that you don&#039;t want to rewrite because a) they already do what they&#039;re supposed to do and do it well and have enduring much field testing already and/or b) they&#039;re too crufty or complex to viably rewrite  tend to live in separate libraries, or can be factored out quite easily (e.g., the purely computational part of a Mandelbrot explorer app).  

There&#039;s almost never a need to abandon those when you switch to Cocoa.   

The great thing about talking about Cocoa is that you don&#039;t have to.  That&#039;s a hallmark of much of Cocoa development itself.

Anyone with even modest programming skill or the barest of experience in software development can go through a tutorial or three and get a pretty good idea of the power of IB and the breadth and depth of Foundation and other Cocoa kits.  Just go try it!

A slogan of Cocoa (nee NEXTSTEP) developers has been: &quot;it makes simple things simple and difficult things possible.&quot;

I&#039;ve never been able to say that about any other Mac application framework+toolset.</description>
		<content:encoded><![CDATA[<p>Having done Cocoa, Carbon, PowerPlant, MacApp (Pascal and C++) and roll-your-own C applications for Mac OS 9/X over the years, I have to say that Jim Hillhouse gets it exactly right.</p>
<p>Nothing works better than the combination of Cocoa, Xcode and IB.  Prototypes of small applications can become high-quality shippable apps because of Cocoa&#8217;s ability to do most everything on the UI side &#8220;quick-and-clean&#8221;.</p>
<p>I&#8217;d add something to what Jim says, however:  rewrites do not have to be an all-or-nothing proposition. The parts of a legacy or other-platform app that you don&#8217;t want to rewrite because a) they already do what they&#8217;re supposed to do and do it well and have enduring much field testing already and/or b) they&#8217;re too crufty or complex to viably rewrite  tend to live in separate libraries, or can be factored out quite easily (e.g., the purely computational part of a Mandelbrot explorer app).  </p>
<p>There&#8217;s almost never a need to abandon those when you switch to Cocoa.   </p>
<p>The great thing about talking about Cocoa is that you don&#8217;t have to.  That&#8217;s a hallmark of much of Cocoa development itself.</p>
<p>Anyone with even modest programming skill or the barest of experience in software development can go through a tutorial or three and get a pretty good idea of the power of IB and the breadth and depth of Foundation and other Cocoa kits.  Just go try it!</p>
<p>A slogan of Cocoa (nee NEXTSTEP) developers has been: &#8220;it makes simple things simple and difficult things possible.&#8221;</p>
<p>I&#8217;ve never been able to say that about any other Mac application framework+toolset.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jim Hillhouse</title>
		<link>http://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/comment-page-2/#comment-103615</link>
		<dc:creator>Jim Hillhouse</dc:creator>
		<pubDate>Thu, 09 Aug 2007 15:40:47 +0000</pubDate>
		<guid isPermaLink="false">https://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/#comment-103615</guid>
		<description>If people in the industry have learned anything, it&#039;s be careful, very careful, when crossing the river (Rubicon?) of whether to rewrite or not. Novell, Corel, and Lotus are good examples of that. But, the thing was, when these apps were re-written, the paradigm they were shifted to was not one that offered increasing efficiency during the development process that Cocoa, Obj-C 2.0 and the new Interface Builder are adding compared to Carbon. Worse, the rewrites were all very badly managed in that the development of the traditional apps was frozen--no more updates or maintenance releases--opening the door to MicroSquish to use FUD and Vaporware to sway customers away from these companies and over to MS.

But not rewriting to take advantage of new technologies, new animation, new graphics, and 64-bit here, among others, is not a solution either. The tug-of-war between BBEdit and TextMate is a classic example of what we are talking about here. In the case of BBEdit, my (still) text editor of choice, it is adhering to allot of its Carbon code while TextMate, which is Cocoa only, is eating its lunch and dancing circles around it. Better would be for BareBones to have a Tiger team (an aerospace term, not the OS) start a full-up Cocoa version of BBEdit while the company continues to release updates to BBEdit 8. When the Cocoa version of BBEdit is close to some development tipping point, BareBones would concentrate development resources on getting it over the finish line.

The moral of the story, you can&#039;t stay with Carbon and expect to compete with Cocoa competitors, especially after Leopard. There is allot of Carbon that is being deprecated in October while Cocoa-only capabilities abound. More will follow with the next OS release in a couple of years. Customers want the latest and greatest capabilities that Cocoa allows for free but for which has to be built in by the developer in Carbon, meaning that all things being equal, hour-for-hour, effort-for-effort, a Cocoa-only developer is going to be more efficient--TextMate&#039;s team has shown that. So the move to Cocoa must begin at some time. But while you&#039;re migrating over to Cocoa from Carbon, you can&#039;t neglect your current customers and their needs for maintenance and incremental updates while you go off and recreate your great app. And this debate can go on for awhile. But for those like BareBone, if it is wrong in not breaking with Carbon, at the end of the debate are layed-off programmers and other workers and a once great product that is relegated to the ash-heap of history. Hey, nobody said this was without risk.</description>
		<content:encoded><![CDATA[<p>If people in the industry have learned anything, it&#8217;s be careful, very careful, when crossing the river (Rubicon?) of whether to rewrite or not. Novell, Corel, and Lotus are good examples of that. But, the thing was, when these apps were re-written, the paradigm they were shifted to was not one that offered increasing efficiency during the development process that Cocoa, Obj-C 2.0 and the new Interface Builder are adding compared to Carbon. Worse, the rewrites were all very badly managed in that the development of the traditional apps was frozen&#8211;no more updates or maintenance releases&#8211;opening the door to MicroSquish to use FUD and Vaporware to sway customers away from these companies and over to MS.</p>
<p>But not rewriting to take advantage of new technologies, new animation, new graphics, and 64-bit here, among others, is not a solution either. The tug-of-war between BBEdit and TextMate is a classic example of what we are talking about here. In the case of BBEdit, my (still) text editor of choice, it is adhering to allot of its Carbon code while TextMate, which is Cocoa only, is eating its lunch and dancing circles around it. Better would be for BareBones to have a Tiger team (an aerospace term, not the OS) start a full-up Cocoa version of BBEdit while the company continues to release updates to BBEdit 8. When the Cocoa version of BBEdit is close to some development tipping point, BareBones would concentrate development resources on getting it over the finish line.</p>
<p>The moral of the story, you can&#8217;t stay with Carbon and expect to compete with Cocoa competitors, especially after Leopard. There is allot of Carbon that is being deprecated in October while Cocoa-only capabilities abound. More will follow with the next OS release in a couple of years. Customers want the latest and greatest capabilities that Cocoa allows for free but for which has to be built in by the developer in Carbon, meaning that all things being equal, hour-for-hour, effort-for-effort, a Cocoa-only developer is going to be more efficient&#8211;TextMate&#8217;s team has shown that. So the move to Cocoa must begin at some time. But while you&#8217;re migrating over to Cocoa from Carbon, you can&#8217;t neglect your current customers and their needs for maintenance and incremental updates while you go off and recreate your great app. And this debate can go on for awhile. But for those like BareBone, if it is wrong in not breaking with Carbon, at the end of the debate are layed-off programmers and other workers and a once great product that is relegated to the ash-heap of history. Hey, nobody said this was without risk.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
