Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Another quick way of seeing if an app (the UI at least) is Carbon or Cocoa, is to put the app in the background, and try right clicking in one of its windows. If you get a contextual menu without the app coming to the front, it's Cocoa. If the app jumps to the front when you right click, it's Carbon.
 
I think that removing the app store from iTunes and moving it to the MAc App store would make iTunes less bloated. Music and video store make sense for "Tunes" but the rest of the iphone/ipad apps would all make more sense in the mac store.

However, that wouldn't work for the Windows users so never mind.
 
Found screenshots of what iTunes looks like full screen in Lion:

http://mac-and-i.blogspot.com/2011/06/wwdc-itunes-105-beta.html

Screen+Shot+2011-06-07+at+00.23.47.png
 
Last edited:
iTunes 10.5

Whether or not iTunes 10.5 is Cocoa depends on your definition, but let's check instead of speculating. It's easy to attach a debugger (returning from ptrace calls to avoid NOATTACH) and inject F-Script Anywhere. Using FSA, you can navigate the view hierarchy.

It turns out that iTunes 10.5 is Cocoa in that it uses AppKit windows containing views. The toolbar in Preferences is even an NSToolbar, and after enabling customization using FSA, you can even move the items around! Views in the main window seem to be NSView wrappers ("ITBackingHostView") for something implemented in C++ ("ITView"), presumably to be able to share code with Windows (for which I guess they use another wrapper).

So yes, it is Cocoa. Partially wrapping non-native controls.
 

Attachments

  • NSToolbar.png
    NSToolbar.png
    313.1 KB · Views: 249
+1

Let's hope that the rewrite itself will be a surprise at the fall keynote. iTunes needs some serious attention.

Visually, I cannot stand the yellow playback section at the top. Why is it still look like something from the early 1990's like the screen of an old Gameboy?

It looks like an old iPod of course. And it's anything but yellow. Check your screen.
 
10.5 is of course just an intermediate update meant for Lion (hence the point increment). The overhaul will come when iCloud is released in the fall.

With iCloud taking the syncing duties away from iTunes, Apple will be presented with an opportunity to simplify the app to its core function of a media player.

I think you're forgetting about all of the regular iPods out there though. None of them support iCloud. And neither do older iOS devices. Also, Wifi-Sync will still have to go through iTunes.
 
I think you're forgetting about all of the regular iPods out there though. None of them support iCloud. And neither do older iOS devices. Also, Wifi-Sync will still have to go through iTunes.

They could just stick to the older versions right?
 
Whether or not iTunes 10.5 is Cocoa depends on your definition, but let's check instead of speculating.
Entirely Cocoa it is not. It still uses Carbon APIs and hell, I don't even know if it's simply Carbon with Cocoa elements or vice versa. (It's possible, after all.)

But you're right in that it is using Cocoa widgets. To an extent. The NSToolbar is a good example. I also tried command-clicking widgets while iTunes was in the foreground (you'd be able to tell if the elements were Cocoa using this) - I could hit the play button, pause button, scrubber and other things without being switched to iTunes! So some of this stuff is Cocoa, at least.

The main window seems to be a hybrid - it isn't a standard window, or at least not everything is. For example, the close/minimize/zoom widgets are inconsistent in behaviour (they don't rollover when iTunes is not the active application) and design (they appear to be subtly darker than the standard Cocoa widgets). If you ran iTunes in Lion DP3, you'd notice that the full screen widget is inconsistent with the standard widget. To test, I deleted iTunes.rsrc - the widgets (along with a lot of other stuff) could no longer and drew white over the window buffer - so these widgets are being drawn from a Carbon resource file.

Oh, and the title bar text isn't native either. Lion title bar text is slightly embossed - iTunes' has a shadow.
 
Last edited:
They could just stick to the older versions right?

I guess so. But as long as Apple needs to actively support those older versions anyway, I don't really see them creating additional work for themselves by offering an entirely new player-and-cloud-sync-only version of iTunes. It would be messy for consumers as well, to be forced to interact with different versions of iTunes depending on the iDevice they're using.
 
I don't believe it. I think Apple have actually done it... and made it a Cocoa application (at least partly anyway!) I have just upgraded from iTunes 10.3.1 to 10.5b27 on Lion and it actually feels like and looks like a Cocoa app now. Interface definitely more responsive. I'm stunned :eek:

i can't see how iTunes can ever be 100% Cocoa, as it would make maintaining iTunes on Windoze a nightmare! I get the feeling its a Cocoa UI with Carbon sitting underneath. I can't see how it could have been done any other way.
 
Actually, it does. If you go back to Xcode 3.2, open Interface Builder, and create a Carbon application window, the set of widgets it gives you to work with is largely different than when creating a Cocoa window. Also, the way the system draws windows is different between Cocoa and Carbon - for instance, Cocoa stretches the titlebar's gradient across the width of the titlebar while Carbon tiles it.

And of course, features that we've taken for granted in Cocoa applications are not present in Carbon counterparts - at least without extra effort on the developer's part. These things include spell checking, grammar checking, the Command-Ctrl-D dictionary popup among several other things.

Also, while it's not true in all cases, many carbon applications have ancient codebases with years of code fragments and bloat scattered throughout, sometimes leading to a more "clunky" experience for the user.

Wow thanks for that clarification. I knew most of that, but did not know that old Carbon apps did not have access to spell check/dictionary. Has Apple hard coded them into iTunes to have them there, or have they been absent all this time?
 
Why???

What's the point of 64-bit iTunes?! From my understanding, 64-bit is really only advantageous in large applications like Photoshop and Final Cut. When I get this, I'm running it in 32-bit mode. 64-Bit iTunes is a big waste of RAM. :eek:
 
I've been waiting for this change for a long time. With 130,000+ tracks and dozens of active Smart Playlists, iTunes has slowed to a crawl for me whenever I edit any song tag... I actually get to stare at a beachball for 30 seconds each time. A larger address space should help solve this issue.
 
I've been waiting for this change for a long time. With 130,000+ tracks and dozens of active Smart Playlists, iTunes has slowed to a crawl for me whenever I edit any song tag... I actually get to stare at a beachball for 30 seconds each time. A larger address space should help solve this issue.

Oh yeah, I guess if you have so many smart playlists, iTunes would benefit from 64-bit. However, Apple should make the default 32-bit because I doubt anyone needs 64-bit if they don't use that many smart playlists, and 64-bit uses extra RAM.
 
It may be Cocoa but, working with the application daily, scrolling still feels like Carbon. It's still kinda choppy and here's no "rubber band" effect when you reach the end of a scroll area. Also, general animations are choppy. Going fullscreen with an iTunes video still isn't graceful, it just "flashes" into fullscreen, no "zoom" effect like QuickTime X.
 
What's the point of 64-bit iTunes?! From my understanding, 64-bit is really only advantageous in large applications like Photoshop and Final Cut. When I get this, I'm running it in 32-bit mode. 64-Bit iTunes is a big waste of RAM. :eek:

There's no penalty to upgrading to 64-bit, for the most part. In addition, if your computer is using all your 32-bit registers and visible ram, then 64-bit applications will gain in performance from multitasking. Honestly, they just want all applications to be 64-bit, because it doesn't take much effort and only helps the OS as a whole.
 
Yeeeeeeeees, but some Apple computers make it impossible to upgrade RAM any further. Either limited by the chip set, or other physical limitations.
32-bit iTunes currently can access up to 4GB of RAM as it is. Machines limited to 4GB's or less will see no difference in memory usage with 64-bit iTunes because 32-bit applications can already access all of their available RAM.

The only time 64-bit iTunes will make a difference in memory usage is when you have more than 4 GB's of RAM. Even then, the chances of iTunes EVER needing to use more than 4 GB's of RAM is essentially nil.
 
I'm hoping that if this is true that there will be less beachballs. iTunes has needed updating for a while now, glad to see them do this in a point update instead of waiting for 11.
 
Cocoa is far more significant than 64-bit. It will be interesting to see how iTunes 10.5 performs on a G4 running 10.5.8

I wonder if there will be good performance gains on about-to-retire PowerPC hardware?
 
Finder went from Carbon to Cocoa in OS X 10.6 without any major changes to the UI, just a few tweaks here and there. When they did say at WWDC 2008 is that it let them do things like play a video right on the desktop through the thumbnail without much hassle. My guess is that iTunes needs to be Cocoa-enbled in order to get a full screen view.

How comes a game like AoE II is even able to work in full screen? (It's written for OS 9). There were and still are other ways to achieve full screen modus than working with cocoa.
 
Cocoa is far more significant than 64-bit. It will be interesting to see how iTunes 10.5 performs on a G4 running 10.5.8

I wonder if there will be good performance gains on about-to-retire PowerPC hardware?
An interesting question, however a more interesting question is when does Apple stop updating iTunes for PowerPC systems?

I suspect we're getting close to that point. Maybe not 10.5, but soon after in all likelihood.
 
... the chances of iTunes EVER needing to use more than 4 GB's of RAM is essentially nil.

Most Indeedly. The only applications (that I use) passed the 2 GiB mark are: System Preferences (for some reason, when keeping it open at the screensaver tab it can reach up to 3 GiB), AutoCAD (6 GiB record - a drawing consisting of roughly 600 000 elements ... ), Photoshop (7.5 GiB + 60 GiB paged - 'rendering' perspective out of 21 12MP photo's).
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.