Accessing all the available Photo Frames in Keynote ’08

Wednesday, August 8, 2007

I’ve had a few more hours with Keynote (This post was written shortly after iWork 08 was released), and today I want to look at how the photo frames function works. Years ago I created something I called “Stretchables” for my Keynote products. I never really did much with them, though some of my themes contain Stretchables in the extras files. It appears that Apple took a cue from these (no idea if they stole the idea or came upon it themselves, most likely they didn’t steal it) and have now implemented them in Keynote ’08.

Basically, there’s a new stroke option called Picture Frame:

But you’ll notice there are only 12 frames. NOT SO! For some reason, Apple decided to embed quite a few frames (and even use them in their included themes), but not show them to the user. If you crack open the Keynote app and drill down through the Frameworks folder, you’ll see this:

I’ve shortened it a bit to fit on this page, but there are 72 frames in that folder (and one called None). 72 frames and all we get to choose from is 12!

Well, I wasn’t content with that, so I started messing. At this point, I still hadn’t found a way to expand that menu of 12, but I did notice that each of the Apple themes uses a different frame, and I found that you can easily copy and paste a frame from one file to another to use it in your own presentation.

As it turns out, there IS a way to get all of those frames into your stroke menu. There’s an xml file inside Keynote that lists the available frames. When you add more frame names to this xml file, they show up in the Inspector. Here’s a shot of my copy of Keynote ’08 with some of the available frames:

Basically, if you control click on your copy of Keynote (oh, make sure you keep a fresh copy of the app around just in case you break something) you’ll see the option to view the package contents. Choose that, then open the contents folder, then resources. You’ll see a file called “BGGraphicInspectorFrames.plist.” Open this file in your favorite text editor and you’ll see the original list:

Now, to save you the trouble of finding the complete list buried inside the Keynote app, we’ve provided the actual replacement file for download-though you might actually want to keep reading before you download it. Full Plist replacement file

At this point, you can either open the original file in a text editor and replace the text with the file we’ve provided, or you can replace the entire file inside the Keynote package (make sure you quit and relaunch Keynote for the changes to take effect). But there’s a problem…even on my 20″ monitor, Keynote can’t actually display all 72 frames, it chops off all but 59 of them (I’m not sure if the 4.0.1 update fixed that either). So if you’re going to go this route, I suggest simply copying and pasting 50 or less of them into the list and being happy that you now have 50 frames to choose from instead of 12. here’s a shot of our working list with a bunch of frames, but not the whole lot:

One interesting side effect of the way Apple built the frames system is that if you decide to reverse engineer the frames so you can make your one unique frame, it still must be installed INSIDE the Keynote app to work. The problem with that is that if you DO build your own custom frame (we’re not talking about the hack above, we’re talking about creating your OWN frame from scratch) if you wish to share a presentation that uses that frame, you must also install the frame in any copy of Keynote that will be used to open the file. This is fine for your own stuff, but not so great if you’re giving presentations out that use custom frames. I wish Apple had built a system that allows for custom frames to be embedded inside a theme file and then carried over into the resulting presentation, but it doesn’t appear to do that.

We hope you like this first “hack” of Keynote ’08, stay tuned for more Keynote (or iWork) ’08 fun!

UPDATE: We’ve built a Keynote file that contains all the frames, so you can use this file to copy and paste frames out of, instead of patching your copy of Keynote. Download it here.

Thanks for that great tip! I found a bug in Keynote’08. If you have 67 or more themes, you cannot see All of the themes when you select Themes from the Toolbar. Some of the themes are off the top of the screen and you cannot scroll to them.

You can see and select all of your themes if you New from Theme Choose under the File menu.

Yeah, I found that bug yesterday and mentioned it in the story we posted yesterday. I have over 160 themes, so yeah, in the drop menu I can’t see them all, which is fine with me as I never use that menu anyway.

Where is located this Frames folder, if I open Keynote 08 through show contents…, and go to Resources, there is bunch of localization folder, folders like Themes, Glyphs, Fills but I can not find the Frames and Strokes, which can be seen on your screenshot. So far I have only trial version, but should be the same.

it doesn’t go in the Frames folder, so you don’t need to worry about where it is. It goes in Contents>Resources. You’ll see a file with the same name in there, just replace it (on a copy of Keynote of course).

if you DO want to see the frames folder, it’s in:
Contents>Frameworks>SFRendering.framework>Versions>A>Resources

WHOA! if you turn on the extra 5 Smart Strokes in that other file, you’ll get 5 more frames at the top of the list. Seems the FIRST of those frames is actually a new kind of stroke pattern and not a frame based off an image.

just use the current file (BGGraphicInspectorSmartStrokes.plist) as a reference and add the other 5 items to it, each inside their own set of string tags (this blog engine won’t let me post the code, it removes the string tags).

So, it looks that frame is classical frame PNG File cutted in 9 pieces – the 4 corners and top, bottom, right and left part
+ corresponding mask, in plist file is just assigment of file names and inset. That is great, I have ready some frames for web galleries so I will try add some if it works.

Yep. Would you believe me if I said my earlier themes came with something I called “stretchables” which were images built the same way, with 9 parts. They came as part of my extras files and you could build your own frames in Keynote that way. Nice to see we’ve got a real frame system now.

the only problem is, I made a custom frame, but had to install it INSIDE Keynote. And then it’s only supported on MY copy. I am hoping there’s some way to install custom frames inside a theme, but I doubt it.

Thanks for your generosity. I am constantly amazed at how much you share.

If/when you hack with building new frams, hereÃ¢â‚¬â„¢s 2 I would use.
An old Polaroid picture (wide bottom margin)
One of the frames is a stack of three, with the image on top (page 5 of your .key, bottom center). IÃ¢â‚¬â„¢d like to see the same stack, but with the first hidden and second showing, and also with the bottom one showing. Sort of a flip through the stack.

The problem with making your own is that anyone who wants to view your presentation (if it uses the custom frame) MUST have the frame installed. So if I make any, they will be free to everyone.

Oh, my brand new Keynote 08 theme, being released this week, has an image of a Polaroid with a photo placeholder set on top of it. Not as handy as a real Picture Frame in Keynote, but it works well. Look for it this week 🙂

I wrote a quick perl script to parse the index.plist files for all the frames in the Frames directory to fetch their name and preview icon. I copied them all to a folder and took screenshots in finder to use as preview images for the many available frames. This helped me a lot figuring out which frames I wanted and which ones I didn’t care for (without having to restart Keynote multiple times).

Brian- Thanks so much for sharing the cut & paste frames! So much better for browsing. I was interested to see that the “book” images will change the binding orientation (landscape or portrait) as you rotate the image.

is this a 10.5 or better option? I’m using 10.4.11 and after working down to the “Resources” folder it’s full of .tiff files. the file “BGGraphicInspetorFrames.plist” does not appear to be in the folder. Help

However I have to say this is just another example of how unMaclike much of the NEXT programmers’ efforts are. They have trouble handling the bleeding obvious, it seems to make them extremely uncomfortable.

There are so many silly and poorly thought out features in the iWorks suite you could write a book on them alone.

New to this – how do i get th frame that gives 0% opacity in th centre, blending into 100% opacity at th ‘edges’?
Sorry – i have read previous posts, but can’t find any Plists to view frames, n i can’t figure what to do. Any ideas?
* Is this thread still active?

Can you please post a version that will work with keynote 6.5.2? When I downloaded the file, I got a message that it was a very old version and that I need to save it with keynote 09 first. Unfortunately, I don’t have keynote 09