First Apple TV prototypes "in the works" as Apple reportedly shopping part suppliers

  • Halliburton to ditch BlackBerrys in corporate transition to Apple's iOS platform

  • Apple's iPhone takes 75% mobile phone profits with just 9% of units sold

  • Apple CEO hints at no ARM-based MacBook Air as iPad to "soon satisfy" that niche

  • Lowest Prices ANYWHERE on MacBooks with exclusive AI coupons: Mac Price Guide updated Feb. 8th. (Find the best prices on Macs)
    Monday, October 27, 2008

    Apple to sweeten Snow Leopard with more Cocoa

    By Prince McLean

    Published: 09:00 AM EST (06:00 AM PST)


    According to developer build notes leaked on the web, Mac OS X 10.6 Snow Leopard's new Finder and "almost all" other graphical apps will be delivered using Cocoa. Here's why, and what benefit this additional use of Cocoa will provide to users.

    A Yellow Box of Cocoa

    Cocoa is Apple's marketing name for one of the two prominent application development environments in Mac OS X. It derives from the object oriented development tools that originated at NeXT, acquired by Apple in 1996.

    During the development of Mac OS X, NeXT's technology was first referred to as the Yellow Box, in contrast with the Blue Box of classic Mac development tools, and then was later renamed Cocoa to suggest an association with Sun's Java, which was at its apex of hype as a popular buzzword at the time. Java itself had borrowed concepts from NeXT.

    Apple's existing procedural development tools for the Mac OS were renamed Classic, and portions were carried forward in a modernized environment called Carbon. This allowed existing code written in the 90s to be carried forward to the new Mac OS X and run natively, once relatively minor adaptations were made.

    Carbon vs Cocoa

    While Carbon and Cocoa are often portrayed as pitted against each other in dramatic rivalry as two opposing camps of development, Apple has actually worked to advance both to serve different needs. As Apple notes in its Mac OS X System Architecture documentation, Carbon has been positioned as a lower level framework that provides access to bare metal functionality. Cocoa is designed to help developers build robust, complete applications rapidly by providing easy to use frameworks that handle a lot of the background work for them.

    At the same time, there is some overlap between the two, particularly in the realm of building user interfaces. Developing and promoting two separate development environments to do many of the same things has stretched the company's resources with increasingly less upside.

    Once it delivered a fully functional Carbon environment, Apple could focus on promoting Cocoa as an easier to use, more consistent, and more flexible and portable set of Application Programming Interfaces. Last year, Apple made it easier for Carbon developers to add Cocoa to their apps. It then announced that, starting with Leopard, portions of the APIs used to build 64-bit graphical apps would only be delivered for Cocoa.

    Cocoa


    That meant that while both Carbon and Cocoa could continue to be used to build 32-bit apps or 64-bit servers and other faceless apps, any efforts to deploy 64-bit apps with a graphical front end would need to have their user interfaces built in Cocoa.

    After signaling the intention at this year's WWDC to deliver all bundled apps in Snow Leopard with 64-bit capabilities (and the ability to run as 32-bit in order to support existing Macs without 64-bit processors), the writing was clearly on the wall that Apple would need to port the graphical portions of all its bundled apps to Cocoa.

    Apple's Cocoamotion

    The move to Cocoa benefits Apple because it can devote its limited resources into a single set of APIs for developing graphical apps. By tying the move to 64-bits with a transition to Cocoa, Apple is also pushing developers of legacy Carbon apps to make both jumps together rather than stringing things along for years.

    This is less than ideal for companies such as Adobe and Microsoft, which have built cross-platform tools based on the lower level Carbon. Their move to a Cocoa user interface will take additional effort, something that Adobe noted as the cause for its failure to ship 64-bit Photoshop CS4 for the Mac. When they do deliver their 64-bit apps however, those apps will benefit from being developed in Cocoa. Apple faces the same challenges in building a Cocoa face for its own Carbon apps, including Final Cut and Logic.

    Developers benefit from the move to Cocoa because it gives them a consistent user interface, more of which comes for "free." Rather than custom coding large parts of their user interface, Cocoa makes it easier to adopt the new widgets and interface conventions Apple has pioneered in its iLife, iWork, and other apps, and subsequently made available to third parties. Using Cocoa also gives developers a leg up in supporting the resolution independence built into Mac OS X.

    What Cocoa does for users

    For users, the move to Cocoa means that applications will have more consistent appearance and behavior. Apps that make use of standardized interface controls rather than building their own will not only be more familiar, but users will also benefit from the code exercise and reuse, which removes bugs and allows for centralized optimizations. In other words, Apple can address user interface problems that in turn impact all apps.

    This doesn't mean Apple is abandoning Carbon or a variety of other new APIs that are similarly procedural, C language APIs. The new (in Leopard) Core Text is defined as part of Carbon, and Cocoa provides an object oriented wrapper for it in the Cocoa Text System. Core Video, QuickTime, and Quartz lie outside the definitions of Carbon and Cocoa, and Apple presents dual Cocoa and Carbon interfaces for working with these.

    Rather than the removal of Carbon, Apple's move to Cocoa in Snow Leopard is a consolidation of future efforts, starting with the user interface. More effort has gone recently into making new Cocoa 'kits' than in building entirely new Carbon APIs. The QTKit, PDFKit, and Core Animation are all examples of new, recommended Cocoa tools for doing things that are easier and more powerful than building from scratch in Carbon.

    The Cocoa iPhone

    The iPhone has already become 'fully Cocoa' in its user interface, highlighting why Apple is investing its efforts into one environment with the portability to stretch beyond conventional desktop computing. As Apple evaluates new product directions, from netbooks to tablets to TV boxes, having consolidation behind a single, modern application framework will make it easier to both create new products and to gain third party developer support behind them.

    As mobile developers rush to get up to speed with the iPhone's Cocoa Touch to participate in the wild success of the Apps Store, they'll gain crossover skills in developing for the Mac, too. In just a year, Apple's smartphone has effectively increased the installed base of its Cocoa systems from the roughly 20 million Macs running Mac OS X to more than 30 million devices in total. Apple expects this installed base to grow rapidly.

    By decisively pushing developers to implement their user interface using Cocoa, Apple will end up with less code maintenance, more focused development efforts, and a broad, flexible platform that's easier to pilot into the future.

    Filed under : Mac OS X 69 Comments ] 
    Story topics: Mac OS X 10.6   Print ] [ Story Link ] 


    RSS
    Mac Connection End of Summer Sale
    MacBook Pro Model
    Apple
    Price
    Discount
    2.4GHz dual 13" MacBook Pro $1,199.00 $1,096.05* $102.95
    2.8GHz dual 13" MacBook Pro $1,499.00 $1,382.19* $116.81
    2.2GHz quad 15" MacBook Pro $1,799.00 $1,647.06* $151.94
    2.4GHz quad 15" MacBook Pro $2,199.00 $1,983.65* $215.35
    2.4GHz quad 17" MacBook Pro $2,499.00 $2,288.23* $210.77
    Early 2011 MacBook Pro Model
    Apple
    Price
    Discount
    2.7GHz dual 13" MacBook Pro $1,499.00 $1,258.53* $240.47
    2.0GHz quad 15" MacBook Pro $1,799.00 $1,503.49* $295.51
    2.2GHz quad 15" MacBook Pro $2,199.00 $1,695.99* $503.01
    2.2GHz quad 17" MacBook Pro $2,499.00 $2,035.49* $463.51
    *Instant 3% AppleInsider Reader Discount Applied When Adding Items To Your Cart

    AppleInsider Features
    Hot Forum Topics

    Recent Articles
    Leaked photo allegedly shows outside back cover of Apple's next iPad
    Alleged Foxconn hack allowed bogus orders to be placed for vendors
    White MacBook sales come to close as Apple ceases sales to education institutions
    Google says it won't support fair licensing in open standards as Apple, Microsoft, Cisco have
    Cisco backs Apple's ETSI request for fair and open licensing of standards patents
    Doubts cast on likelihood of quad-core A6 CPU in third-gen iPad
    Path apologizes, offers opt-out for address book uploading
    iTunes Match generates 'magic money' for music copyright holders
    Siri rumored to gain support for Mandarin, Japanese and Russian in March
    US Air Force may buy 18,000 Apple iPads for cargo aircraft
    Purported 'iPad 3' back panel shows space for larger battery, new LCD
    Worker abuse petitions to be delivered Thursday at Apple's Grand Central store
    Microsoft joins Apple in pledging support for injunction free, FRAND patent licensing
    iPhone best at retaining resale value and offers lowest total cost of ownership
    iTunes-sponsored live Paul McCartney concert to stream for free on Apple TV
    Mobile carriers hate not having iPhone, pay premiums to get it
    Viacom deal brings MTV, Comedy Central, Nickelodeon shows to Amazon Prime
    European Apple resellers say lack of inventory is putting them out of business
    Sprint sold 1.8M iPhones in holiday quarter, 40% to new subscribers
    Apple continues adding Lion Internet Recovery support to 2010 Macs
    Amazon nears deal with Viacom as it readies standalone video subscriptions
    Apple asks ETSI standards body to set rules for standards essential patents
    Path app under fire for unauthorized address book upload
    Google to continue Motorola's FRAND licensing that seeks to monopolize H.264, UMTS
    App developers forced to submit Retina Display screenshots
    Final Cut Pro X named PCMag's Editors Choice for high-end video editing
    Apple-sparked 'App Economy' created 466K U.S. jobs in 4 years
    Buffalo Wild Wings testing Apple's iPad for quicker customer ordering
    Mac sales surge as PC sales drop 20% in UK, 12% in France
    Apple seen taking 5% of HDTV market, earning $17B in revenue
    Siri accounts for 1/4 of Wolfram Alpha queries as search engine goes 'Pro'
    RIM says BlackBerry App World has 60K apps, 13% of publishers earn more than $100K
    Apple retakes crown as world's top smartphone maker
    Chinese lawsuit seeks $38M, apology from Apple for use of iPad name
    Apple intern's thesis leaks secret project to port Mac OS X to ARM processors
    Rogers, BCE rumored to already have Apple 'iTV' prototype in their labs
    Updated UI resources in OS X 10.7.3 may hint at preparations for Mac Retina Displays
    Apple warns it will crack down on App Store rank fraud services
    Briefly: First Enyo-based iOS app, New Zealand trademark dispute
    Apple trademarks its patented "macroscalar" code optimization technology








    AppleInsider RSS Feed
    AppleInsider © 1997-2011
    Please review our Privacy Policy.
    Written/Edited/Compiled by the AppleInsider Staff.