{"id":16015,"date":"2009-09-11T15:05:37","date_gmt":"2009-09-11T15:05:37","guid":{"rendered":"http:\/\/blogs.adobe.com\/jnackdev\/2009\/09\/daring-fireball-on-cocoa64-bit.html"},"modified":"2009-09-11T15:05:37","modified_gmt":"2009-09-11T15:05:37","slug":"daring_fireball_on_cocoa64_bit","status":"publish","type":"post","link":"http:\/\/jnack.com\/blog\/2009\/09\/11\/daring_fireball_on_cocoa64_bit\/","title":{"rendered":"Daring Fireball on Cocoa\/64-bit"},"content":{"rendered":"<p>John Gruber has posted a <a href=\"http:\/\/daringfireball.net\/2009\/09\/itunes_and_cocoa\">thorough, thoughtful piece<\/a> on iTunes, Cocoa, and 64-bit software.  He makes a number of useful, sensible points about how Cocoa is &#8220;not magic pixie dust&#8221; but does open the door to UI &amp; performance improvements.  (<strong>Lest anyone forget<\/strong>, the Photoshop team has been working for quite a while to move Photoshop to Cocoa and 64-bit.)  It&#8217;s well worth a read.<\/p>\n<p>A few thoughts:<\/p>\n<ul>\n<li>Getting functionality for free (e.g. when a standard Cocoa control is improved) sounds great, but it&#8217;s something a developer like Adobe has to consider carefully:\n<ul>\n<li>Whether or not it&#8217;s important to you, cross-platform consistency matters a great deal to many customers (e.g. those in a large company that runs Macs &amp; Windows machines).  It&#8217;s hard to expose one&#8217;s apps to those sorts of changes.  (As I&#8217;ve written, <a href=\"http:\/\/blogs.adobe.com\/jnack\/2008\/06\/some_thoughts_about_platform_consistency.html\">consistency within an OS &amp; consistency across OSes both matter<\/a>.)<\/li>\n<p><\/p>\n<li>I know Adobe apps sometimes <a href=\"http:\/\/blogs.adobe.com\/jnack\/2008\/06\/future_photoshop_ui.html\">catch flak<\/a> for using custom UI widgets, but you don&#8217;t want the apps limited (or made inconsistent) by what the different OSes provide.  If customers benefit from something like <a href=\"http:\/\/blogs.adobe.com\/jnack\/files\/images\/ae_widget.png\">scrubby sliders<\/a>, and if you want the experience to be consistent, you need to provide them yourself.<\/li>\n<\/ul>\n<\/li>\n<p><\/p>\n<li>Gruber writes, &#8220;Maybe the Carbon APIs will never go away, but I wouldn&#8217;t bet on that.&#8221;  I don&#8217;t know what Apple plans; I just ask (as I&#8217;ve asked them previously) that they communicate plans in advance.  If they want to say, &#8220;Listen, four years from now, Carbon-based &amp; 32-bit apps aren&#8217;t going to work anymore, <em>period<\/em>; you can transition everything now, you can wait &#8217;til the last second, or you can spread it out,&#8221; that&#8217;s fine.  (It&#8217;s enormously helpful in planning, actually.)  Just provide plenty of lead time so that no one&#8211;Mac users, developers, or Apple&#8211;gets squeezed.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>John Gruber has posted a thorough, thoughtful piece on iTunes, Cocoa, and 64-bit software. He makes a number of useful, sensible points about how Cocoa is &#8220;not magic pixie dust&#8221; but does open the door to UI &amp; performance improvements. (Lest anyone forget, the Photoshop team has been working for quite a while to move [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[19],"tags":[],"_links":{"self":[{"href":"http:\/\/jnack.com\/blog\/wp-json\/wp\/v2\/posts\/16015"}],"collection":[{"href":"http:\/\/jnack.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/jnack.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/jnack.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/jnack.com\/blog\/wp-json\/wp\/v2\/comments?post=16015"}],"version-history":[{"count":0,"href":"http:\/\/jnack.com\/blog\/wp-json\/wp\/v2\/posts\/16015\/revisions"}],"wp:attachment":[{"href":"http:\/\/jnack.com\/blog\/wp-json\/wp\/v2\/media?parent=16015"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/jnack.com\/blog\/wp-json\/wp\/v2\/categories?post=16015"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/jnack.com\/blog\/wp-json\/wp\/v2\/tags?post=16015"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}