I Love View

© 2006 James Dempsey

I Love View, I Love View
Thinkin’ back on all the things that we’ve been through
Sometimes I take for granted, all the many things you do
So let me take this moment, just to say that I Love View.
(Spoken) NSView

They say that opposites attract and so I guess that makes some sense
I’m not big on parties, but you love handling events
I can’t draw Tippy the Turtle, no, nor Pete the Pirate too,
But once you lock your focus there’s no drawing you can’t do.

I Love View, I Love View
And all the subclasses in your retinue (Spoken) Look it up!
Sometimes I take for granted, all those many things you do
So let me count the reasons, why I say that I love view.


You got buttons and sliders, Split view dividers
You never sent a rumor into Apple Insider
Handling the drag drop, Printing like you can’t stop
Tool tips, isFlipped makes you do the flip flop
Menus in a context, Cursor and tracking rects
You draw the focus ring when the user selects
Device independence, Responder chain ascendance
and Accessibility too

I Love View, I Love View
It’s a simple love, not much hullabaloo
I once sent you a greeting card, by Maya Angelou
The words were mighty flowery, But the gist was ‘I Love View’

Well I don’t like to say you’re easy, I regard you with respect
But it’s easy to start drawin’, I just implement -drawRect:
And then when something changes, I just say -setNeedsDisplay:
You record what needs updating, And redraw it as you may

Now on that keyboard over yonder, there might be a typing sound
If you are the First Responder, you’ll be messaged with -keyDown:
As for handling a mouse, that’s been running round your bounds
I can build a better mousetrap
With -mouseUp: -mouseDragged: -mouseDown:

I Love View, I Love View
That’s why I have your API as a tattoo
You’ve been adding lots of features, ‘specially since 10.2
I’m running out of places to display that I Love View


Core Animation, has a reputation
for turning a head or two
It’s so dang good, stuck it under the hood
Of every layer backed NSView

I Love View, I Love View
Let me tell you one thing more, just entre nous
I might flirt with other classes, oh but in the end I’m true
‘cuz you won’t be drawin’ a damn thing, If you ain’t got NSView

(Spoken) I Love View!

I Love View debuted at WWDC 2006 the same year as the introduction of Core Animation and layer-backed views in AppKit. Troy Stephens, Apple alumni who worked on NSView for many years, plays some backing electric guitar on this track.

Vocals: James Dempsey
Guitar: Gordie Freedman
Electric Guitar: Troy Stephens

Music and Lyrics: James Dempsey
Recorded and Produced by Russell Bond at The Annex Studios