Ever thought music software would inspire developer tools? Only Apple would try something like this: they’ve copied the interface of their own GarageBand software, almost button for button, in the new Xray developer tool in Xcode 3.0 (part of Mac OS X 10.5). The developer’s work process will be much like someone mixing music in GarageBand.

Xray is designed for visualizing performance and debugging code, which is a linear, time-based process. That means that some kind of timeline interface makes perfect sense. Apple didn’t just stop there, though: the track view, transport controls (including record button), volume, channel controls, ruler, and loop display elements are all there. It’s so close that you wind up with sentences like this:

Add different instruments so you can instantly see the results of code analyzers.

Instruments turn out to be exactly the same word in development; see comments for more details of what this means for real programmers as opposed to weekend coders like me. 🙂

I’m just waiting for Apple to add an Apple Loop Browser so you can lay down a groovin’ trance or house beat while you figure out why your application is sucking so many CPU cycles.

Mac OS X Leopard Sneak Peak: Xcode 3.0 [Apple.com]

And in a non sequitur at the end, Apple reverts to their usual marketing hyperbole: “Xray. Because it’s 2006.” So we should have a developer tool with the interface from Sonic Foundry’s ACID in 1998? Hey, if it saves developers time and makes the dev tools more intuitive, I’m for it! Developers who want to chime in on this and let us know what you think, please do.

  • willb

    Peter, the "instruments" sentence is clumsy, but programmers (and programming-language researchers) have been talking about "instrumenting" code and "inserting instrumentation" for ages. This just means "adding code to an existing program to observe or modify its behavior." (Think of the instruments someone would use when conducting a physical experiment.)

    In the context of debugging, instrumentation code might be used track all writes to and reads from a certain memory location or it might track all calls to a particular function. The "instrumentation" code can do anything — so the "instruments" that the marketing copy speaks of are probably special kinds of instrumentation that provide useful information to Xray for various events of interest.

    In any case, Xcode 3.0 looks amazing. The timeline debugger view is actually a good idea. (If you can put, for example, different threads in different tracks — and if Apple has correspondingly extended gdb's dismal thread support — it will be huge.)

  • Duncan

    I don't believe the Xray stuff is building on gdb, it's a performance analysis tool running on top of Apple's port of dtrace.

  • willb

    Indeed, thanks for the pointer.

  • Chilton

    Developers who are using XRay are probably not going to comment too heavily on what it's like, as doing so directly violates the WWDC NDA.

  • Becker's @ the

    Lyke OMG!! THAT looks sooooo kool!!!!!11 I TOTALLY cant wait to use it!!! ^_^ *giggles*

  • Developers can certainly comment upon factual elements of my story and how they feel about a publicly-promoted concept. That doesn't violate NDA. (I added the line asking for developer input after willb set me straight about what an "instrument" is outside of my music-biased world!)

    I think forbidding developers to talk about developer tools (not proprietary information about an operating system, but the developer tools) is pretty silly, anyway, but that's a separate issue.

  • detroit313

    I really hope they put some of those new controls in Leopard's AppKit. All the new slick interface elements we see in recent Apple apps are ProKit only, their internal undocumented framework 🙁

  • Bob

    How is "Because itâ€ââ€Å¾Â¢s 2006.â€Â? hyperbole? 😛

  • Okay, fair enough. It is, technically, 2006. 🙂

    This probably counts as hyperbole:

    "Delight in a debugger so groundbreaking, youâ€ââ€Å¾Â¢ll make mistakes just to see it in action."

    Anyway, the product itself looks very cool, even if some of us loathe marketing copy. 😉