Integration • 54:34
Podcast Producer includes the tools and built-in workflows to automate publishing of podcasts to blogs, iTunes, iTunes U, or Apple TV. Learn how to create advanced workflows that leverage the powerful built-in graphic capabilities of Leopard and provide custom actions that are only limited by your imagination.
Speakers: Eric Circlaeys, Kjell Bronder
Unlisted on Apple Developer site
Downloads from Apple
Transcript
This transcript was generated using Whisper, it has known transcription errors. We are working on an improved version.
Good morning, everyone, and welcome to today's session. So my name is Kjell Bronder, and I'll be presenting today with my fellow Frenchman, Eric Circlaeys. And as he would say, we are both podcast producer engineers. So we're going to be taking an in-depth look into Podcast Producer today. So before we even get started, how many of you were here last year when we announced Podcast Producer? Cool. And how many of you have actually played with Podcast Producer since we shipped it in Leopard? So I'm pretty sure that you've heard by now that with Snow Leopard, we're announcing Podcast Producer 2.
And if you were at Devo's session yesterday, you heard that there's a lot of new cool features. But this is an in-depth session, so we're not going to have time to look at all of them. So we focused on Devo's wife's favorite two. So we're going to look at the Workflow Editor and the Podcast Library.
I'm sure you all know where that sound comes from. So the Workflow Editor is our solution to make it really easy and just a lot of fun to write workflows. The Podcast Library is our new way of publishing content from Podcast Producer. We'll now host all your content and serve it up through Atom feeds. And we're going to take a look at both of these features.
But before we do that, I'd like to make sure that everybody's on the same page about what a Podcast Producer workflow actually is. So think of a Podcast Producer workflow as a podcasting recipe. As any recipe, you have an ingredients list. This is a list of the different resources the Podcast Producer system is going to use to create your content. So examples are like an intro video or the watermark image that you want to brand all your content with.
But a recipe isn't just ingredients. You also have a list of instructions. These are the different tasks that you have to complete in a specific order. You can't bake the bread before you've made the dough. For Podcast Producer, it's the same thing. So we've broken down the type of instructions that you can give a podcast producer into three main categories that I'm going to go over with you right now.
The first category is the mixing of your content. This is where you take your intro video, your outro video, your watermark image, and you mix everything together. Once you're done with this, you have your dough. What you have to do with dough, well, you have to bake it. So this is where you encode your content to all the different formats that you want to publish. If you have an iPod audio, iPod video, if you have an Apple TV version you want to publish. Then once you've baked your bread, well, you have to deliver it.
So this is where you publish your content to maybe an RSS feed or to your blog server. So let's recap real quick. You need to mix your content, bake it, and deliver it. So this is what a podcast producer workflow actually looks like. Now that we're all on the same page about what a podcast producer workflow is, let's start talking about the first feature, the podcast library.
So let's go back to this diagram that you see what the workflow actually looks like. If you look at the last step, you can see that we published to the Wiki server and to iTunes U, for example. A lot of the feedback we got was that our users wanted to, or you guys, wanted to publish to different destinations.
And here are just a few examples. Well, to do this with a current product, you have to write a command line tool that knows how to communicate with this service, and that can also upload your content to it. This is actually some extra development that needs to be done and wasn't as easy as we'd like.
So we're introducing with Snow Leopard the Podcast Library. Now you can see why we're in purple, because all of our slides are really nice and purple. So the podcast library is here. We're now gonna host your content for you on the Podcast Producer system. We're gonna be serving up the content with Atom feeds. So now your exterior services will subscribe to those Atom feeds, and that way, they will be automatically notified when new content is posted. There's no more uploading to those different services.
So that's the goal of the podcast library. And as I said, we're using Atom feeds. So why did we choose Atom? So we believe Atom is the future for podcasting. There are a lot of reasons to that. But the one I want to go over today is it gets over one of the problems with RSS.
Today in RSS, for each episode, you can only have one content attached to that episode. So to get over this problem, there are several solutions, but the most commonly used one is to have a separate RSS feed for each format you want to publish to. So if you're going to have an iPod video and audio only and a higher-def Apple TV version, you're probably going to have three different RSS feeds for the same material. Well, Atom supports multiple enclosures per episode. So this means that you can have all your different formats in that one episode. So you can have your three formats in that one episode, and you don't have to maintain three different feeds anymore.
So now I'm going to hand the clicker over to Eric, and he's going to show you how the podcast library actually works. Thank you, Kjell. Good morning. The podcast library is a very interesting piece of technology. We completely reversed the publishing model that we have today by leveraging the syndication paradigm in order to standardize the content distribution and to improve and simplify the integration with external services. The whole idea is to publish every generated major to the library. The structure behind the scenes takes care of everything. The major files, the metadata, all the information related to your recordings and the post-processings.
Everything is stored on the Shared File system. We are using XSAN, for instance. Last but not least, we leverage Spotlight Server technology to index all this data and to benefit from the fast search engine. And finally, Podcast Producer serves all these pieces through Atom feeds, which are built on top of Spotlight queries.
Let me show you how all this works together at a higher level. So we have this podcast library in the middle. Let's create two Smart Feeds. A Smart Feed is pretty much the same as a Finder Smart Folder. You define a set of rules. The files matching these rules are going to show up in the smart folder. So for instance here, we are using Smartfeeds. These are tightly coupled. On the left, we have the workflow. The workflow is going to help us to publish content to the library.
Feed 1 is going to look at all the physics courses, while the second one is going to look at all the courses that Professor Einstein actually is going to create. So if I generate a physics course, a 101 physics course, this result is going to end up in the first feed. If Kjell produces a 102 physics course, exact same behavior, this one is going to end up in physics course Feed 1.
But if my old friend Albert Einstein produces Feed 523, an advanced course, well this one, based on the rules, is going to end up in both feeds. I think you got the idea, and I'd like to show you all now how this works live. So can we move to the demo machine, please? So first, I'd like to show you some of the content I've already published to the library. And for that, I'm going to use the Spotlight Come Online tool, MDFind. I've already prepared two queries for this demonstration, so let's pick the first one.
So this simple query is going to look at all the podcast library documents. That I have generated so far and which are video files. So if I just press Enter, you see that it has a lot of different results. Let me show you another one quickly. This one actually looks for all the audio files I have created for this year only.
So you maybe noticed that the results are PPI files. So what are these files? A PPI is a podcast library document which has been generated during the publishing stage, and this is the file that is indexed by Spotlight. So if I pick, for example, this one result, And if I use the Spotlight command line to MDLS to look at its indexed content, You see that it has a reference to the media file itself. This is an MPEG-4 file. It has also some information about the title, the description, the author, and so on. It provides also some information about the media itself. For example, we know that this one is a Nojo QuickTime file for the iPod.
Um, I think this is cool. But it would be even better if we could have access to that information not only locally, but through the network and actually through the web. And this is where Podcast Producer and the library comes into play. Podcast Producer in the library now serves Atom feeds out of Spotlight queries. So as a quick example here, we configured a system to have an Atom feed served out of a really simple query, which is look at all the content that I have created so far. So let's do quickly a curl of that query.
So first, this is an atom feed. So this is a standard atom feed with really few extensions. And the most important part of this new-- Specification is for a particular episode, which is tagged with an entry, we can have multiple links, multiple attachments. So, for example, this episode has its content encoded for Apple TV, iPod Audio, and iPod Video. So I've been told that not everyone in this room reads XML and Atom through a terminal. So let's actually grab this feed and use Safari to show you the result.
Okay? So you see that Safari just represents all the different episodes and all the attachments, right, Very simply. That's great. But it's even better when it comes to iTunes U. So I have a question for you. How many of you have already set up an iTunes U site? Excellent.
Well, iTunes U team and Podcast Producer team have worked together in order to improve their integration. And we came up with this prototype I'm going to show you in a minute, which allows you to create a course page simply by referring to a podcast library feed. And this simplifies everything. Let me show that to you.
So if I log into my iTunes U site as an administrator, you see that I already have different courses created. So I have my Albert Einstein faculty member, I have Kjell Bronder, and some other courses here. So what I'm going to do is edit the main page. Cool. So let's log in again.
So now I'm going to edit the main page and create a new course page. And instead of going through all the steps, entering a title, description, push some content, and do everything manually, I'm simply going to refer to the previous URL I used here. So you remember my URL. I'm going just to copy-paste it here.
and Boom said it. There is the feed. This is my Atom feed I've previously demonstrated in Safari and in Terminal. And the cool thing in iTunes U now is it supports, in that prototype, the multiple attachments of my Atom feed. So I have the iPod audio as well and the iPod video of all these different attachments. So you have seen all the building blocks of the library.
Now I'd like to show you all these in action through the Podcast Capture application. So let me submit a new video in Podcast Capture, a very short one. So this is going to be the video. I run Podcast Capture. I log in. Let me pick this file. Documents, demo. Pick my test library workflow.
Here we are. Yes. Okay, so this workflow I chose is really simple. It encodes in three different formats-- Apple TV, iPod Dojo, iPod Video-- and it publishes those three results to the library. And the last stage is going to notify iTunes U that the library has been updated with some new content.
So it should be okay in 10 more seconds. So if I go in Safari again, update, update. Then you see that the new video I've just submitted is now available through my Atom feed. If I go in iTunes, Eric Circlaeys feed. You can see that it's actually available right here.
So, Podcast Producer is an awesome end-to-end... Okay. So, keep in mind that all these have been generated automatically for you. The only thing that you have to remember as an external service is how to deal with this standardized Atom feed. Thank you very much. Eric, if you could go back to slides, please.
So let's just summarize real quick what we saw with the Podcast Library. The Podcast Library is a new and improved publishing model. We're basing this on an industry standard, which is Atom. And this is going to get you a lot of things for free. And I think one of the most important is the multiple enclosures in a single episode. There are also other things that you will get for free. Something we didn't have time to talk about today, which is the catalog browsing, or the feed catalog browsing, is really cool, too.
So this is all based on smart feeds, which you can think of as smart folders that are served up through Atom. And we really think this is going to simplify the integration story across the board. You just saw what Eric do. It was an example with iTunes U. But it's not just iTunes U. Any Atom-aware service can now integrate very easily with a podcast library and get the notifications that the content has been updated on the library. So we really think this is going to be very powerful and simplify the integration story for Podcast Producer.
So now we're going to switch gears and we're going to talk about Davos Weiss' favorite feature, the Workflow Editor. This is going to make it really easy to write workflows. So let's start off. Why do we need the Workflow Editor? Well, for those of you who are familiar with the current product, workflows are bundles that are on the file system, and the heart of this bundle is an XML file. This XML file describes the different tasks that need to be accomplished when the workflow is run. It also has a task dependency. For a complex workflow, this can get a bit long.
And that's not it. You don't just have the XML. You also have lots of resources you have to handle. And you can see that this can get, for a complex workflow, this can get quite challenging pretty quickly.
[Transcript missing]
And we're like, "Hmm. This is great. It's better than XML, but it's still complicated." And you see, this isn't even a really complicated workflow yet. And, you know, this diagram, it's pretty complicated. And, you know, still have to deal with all these different resources all over the place. So this was definitely not the solution we wanted. So Eric's now gonna come up and explain the solution that we came up with.
We were all so excited when we started to work on that application. Well, the idea was to create something very easy to use and to focus on the most common usage. So we started with this very simplified view that Kjell presented to you earlier, and we broke it down a bit. We came up with the idea of a typical podcasting workflow representation with five identified stages-- import, edit, export, publish, and notify.
The goal is to concentrate on the business reason of the podcasting workflow you are going to create. Even if this looks sequential, the solution is flexible at all the levels and still generates optimized workflows for the grid. It takes care of everything. The dependencies, the parallelization, the resources, the accounts, and so on and so forth. But I think the best way to demonstrate that to you is actually to show you the application itself.
Can we move to the demo machine, please? Okay. I'm sure that most of you have actually seen the previous demonstration during the other sessions. So what I'm going to do now is to dig into the details of the application and show you some of the possibilities. So let me put that on the desktop.
and run the application. So the... This window, this podcasting workflow document shows you a sequential list of stages. These represent the typical podcasting workflow. Let me start with the first one. The first stage is straightforward. This is basically where you are going to set the name, the copyright, the description, the information actually you need in Podcast Capture, for example, to be able to choose the workflow. So let me set the workflow name. Put the description.
The next stage is really the first active stage. This is where you select what are going to be the input sources for this typical workflow. You could create a workflow that only supports a single movie file as an input. Or you can maybe design a workflow for picture-in-picture which requires two movies as an input source. You can even go into the details of both these options to only support a single screen recording, screen capture. Or maybe you'd like to support only video recording through your cameras.
For Picture-in-Picture, you're going to receive two files, two movie files. So you maybe would like to be able to compose these files properly with maybe different compositions, multiple styles, and so on as possibilities. So the same. You just go into the configuration panel. You pick between a set of different composition modes, like the theater mode or basic overlay, maybe some positioning, some style, and so on and so forth. And this is going to take care for you of all the generation of the tasks and dependency to reproduce that when you're going to submit those two video files to this workflow. So let me pick this one.
Once you're done, you move to the next stage. This stage is all about branding your content. So I used to say that this stage is simple, is really simple to use and can be also really advanced. For example, it's simple as just dragging and dropping some content to the introduction item or simply by setting the Routermark image on top of the content movie.
But if you want to change a transition between, for example, the bumper title, which is this one, the second one, and the intro movie, you just have to click here and also select a composition between the set we provide. So let's move, for example, to a cube, change the direction. You can play with the duration as well.
Changing the Bumper title is also that easy. You just double-click on it, edit the configuration panel, pick a composition. For example, here it delivers three different compositions. The first one is the one that you all used in Podcast Producer version 1. But you can maybe--you would maybe like to select another one. So let's pick the Spiral staircase. You could also decide not to have some metadata part of this titling. So maybe you don't care about organization and the copyright. Maybe you want it to be a bit shorter.
And finally, I'd like to be able to configure the watermark image and maybe put some overlay on top of your content video. So you do it right there. So you have a watermark here. Let's put some more opacity, resize it a bit. Maybe we'd like to have a description crawler at the beginning of your content video. Or maybe get rid of the bumper title and use a lower third as a titling. Okay? Well, sorry for the video.
Well, once you have played with all these different configuration options, the next stage, the next step is really to look at what's going to, how this is going to look like all together. So we introduced two ways of actually helping you to look at the resulted content. So the first one is actually a simulator that stitches all together these different elements.
So you have seen the intro movie, the transition. So maybe if we go back again and look at the transition, you can even put the copyright back, put the organization back. Okay, so the U is not good here. I'd like to put it on the top right. And maybe, no, I don't want to have any overlay title on top of it.
Oh, yes, I don't really like to have this outro movie at the end, so I just remove it. Well, there is also another way to actually look at what you've just set on these particular items. So we've introduced the scheming. This is more or less the same of what you have in iMovie and iPhoto. You just put your mouse over these items, go left to the right, and then you have a sneak preview of actually what's going to happen based on the timeline you have defined in this configuration panel.
And finally, you've seen that there are many different options. So maybe the first time you use this tool, you would like maybe to be guided with some correct look and feel and correct settings. So we have these themes right there to help you. And this is just as easy as selecting this one. Okay? This is going to reconfigure everything, pick some resources that we provide by default. So you can just have a look at these, play the preview, and go through it.
Once you are done, you move to the next stage. That's very simple. The next stage is all about defining what are going to be the output sources, the output formats. By default, you can see that we encode the output result of the preview stage to QuickTime iPod video and to a QuickTime iPod audio.
Maybe you'd like to add another one. So if I just press plus, select this plugin, I could then code to a higher quality like Apple TV, maybe the best one, desktop. Pick iPhone cellular, iPhone Wi-Fi, for sure, iPod 3G, iPod audio, and so on and so forth. Let's pick this one. Maybe you'd like to use your own encoding settings.
So for that, we introduced a compressor plug-in here. So you can use this compressor plug-in to pick a file that you have created with compressor interface with your own in-depth settings, and you can even use compressor either locally with Xgrid or remotely with compressor engine. So once this is all set, you move to the publish stage.
Today we are introducing the podcast library. So we think this is the best way for you to actually publish all your content and deliver them to all the external services. So we have this library plugin instantiated here where you can decide to publish all the original sources, also publish the previews that we have done for you in the background, and also all the major files that you have generated in the stage before.
If you really like to publish to another external services with the current, I mean, the old way of pushing the content directly, you can still do it. So, for example, if you'd like to push the content to iTunes U directly, you just pick the one you'd like to submit, put the credentials information, and you're done. Same for the wiki server.
You select one of them, you put some information about the credentials, and you select where this is going to actually be published. We've also introduced another plugin, which is the Workflow plugin. Maybe you would like to build a small workflow with specific in-house actions, but you still want to use this great workflow editor UI.
Eric Circlaeys, Kjell Bronder So at this stage, you can decide to publish to one of your small workflows one of the previous content you have created. So, for example, you pick the high quality, you give the name of the workflow you have installed on the system, you put some information about where you're going to render all these, and you're done. The workflow generated by this tool is going then to branch to another workflow, which is yours, and then can be written with your favorite XML editor. Thank you.
The final active stage is the notify stage. This is where you decide to send an email, send an iChat to the administrator or maybe to yourself who is going to use this workflow that the workflow just went well. So there is an email. You can also maybe just send an iChat to Jabir.
On the other side, this stage gives you also the ability to notify external services. As I previously demonstrated to you, we can notify iTunes U that my library has been updated with some new fresh content. So that means that if the system, if the external service wants to synchronize at that time, it can do it quite easily. And my last stage is all about the complexity of the workflow that's going to be generated. Thank you very much.
Let's back to the slides, please. Thank you. The Workflow Editor simplifies a lot the workflow creation process and still remains flexible. The two best examples of this flexibility are part of the editing stage. These are the compositions and the themes. And for that, I'll let Kjell to demonstrate to you how easy it is to create your own composition and add it to the workflow editor.
So I'm going to go back to slides, please. So a lot of what you saw and the really power that you saw in the workflow editor is done thanks to Quartz Composer. So for those who are not familiar with Quartz Composer, Quartz Composer is a tool that ships with the developer tools. So you can find it in /developers/applications. And it's a really powerful tool for doing video compositing.
And you saw this title, you saw this titling here that I'm skimming over. This is all done using Chords Composer. And I want to show you how easy it is to write your own Chords Composer composition and integrate it into the Workflow Editor. So before I even do that, what I have to explain here is that in order for the Workflow Editor to be able to accept information and give it to your composition, we have to come up with a certain protocol.
So if I open up here the bumper title, you'll see that there's some different information that you can play with. And this is actually the same information that your composition has to know how to handle. So you can see that you have the title, you have the author, the date, copyright, organization, and description. The description is disabled because this composition doesn't accept description. You also have some duration information and offset information. So I have a Quartz Composer composition that I'm going to open up here. And this is just the base of what we're going to start with today.
And you can see that I've got my title, date, copyright, description, author, and organization. And I also have the duration and offset. And you can see for the title, you have it two times, right? You actually have the title string, and then you have the toggle if I want to turn it on or off.
I've also heard a lot of people who are getting new to Quartz Composer, they can be a bit overwhelming. So I really want to show you how easy it can be and just demystify the whole thing and show you how easy it is to create a title for the workflow editor. So now I think you've understood the protocol. I'm just going to dismiss the workflow editor here.
So what I want to do here is I'm just going to take the title and I want to just show the title. We're not going to worry about the other metadata. So I can start off by just getting rid of all of these other patches. So the one thing to know about the Quartz Composer is it works, everything works in patches. You have an input on the left of the patch and an output on the right. Inside the patch will do something to the content.
There are different types of patches, and we're going to start with a renderer patch. So a renderer patch draws something to the screen. Because remember, we're trying to show something here, so we want to draw something to the screen. So I have my little visualizer here, which shows me what's being drawn to the screen, and currently there's nothing, we're drawing nothing. So I want to start off by creating a background. I'm going to create a gradient background. So if I go to the patch creator here, and I just type in gradient.
You see here that I have a renderer patch that creates a gradient. So I'm just going to drag and drop this here, and you can now see that my viewer is showing the gradient. And if we go back here and we look at the patch parameters, I can play with different things, like the color.
And I'm not a UI person, so the colors might not be perfect, but... Can do something a bit fun here. So you see how easy it is to create-- I think we said today was purple, right? So purple. So how easy it can be to create fun gradients. Okay, I'm really not good at this, but you get the idea. So now we've got our gradient on the background here. And just move this around a bit so it actually looks a bit nicer. There we go.
So now what we want to do is we want to draw a string, the string which is going to be our title, to the screen. So to do that, we need two patches. First, we have to take a string and convert it to an image, and then we have to draw that image to the screen. So we're going to start off with the first patch, and we're going to take a string, so I'm going to type in "string," and we want an image out. So there's a generator patch here, which I'm just going to drag again.
Let me just clean this thing up a bit, so... So here you see my image with string patch. On the left is the input, on the right is the output. So it takes a string in, and you can see here in the input parameters what's taking in. So here I can set the string, set the font, I can set the size, I can play with all these different little things.
And it outputs an image with a string. So if you've ever played with Chords Composer, when you're going to start, your favorite patch that we're going to need now is to actually draw this image to screen. So in that patch is the billboard, which is a simplified sprite.
So I'm just going to drop the billboard here, and now I'm going to take the image output for my image with string composition and just drop it here. You see now I have my hello world which is being drawn to screen. But, you know, this black is not really looking that great, and we really want to do some compositing, so there's a blending mode here in Chords Composer. So if I choose Over, you now see that I'm not replacing the background.
[Transcript missing]
and so on. So that's great. So now I can draw my title to screen. But what would be cool is if I could have some kind of little animation going here.
So that's where we're going to play with the x-axis. What I want to do, really something really easy, we're just going to put the text all the way on the left here and then walk it through and just have it slide through across the screen. So you can see when we're off screen, we're at plus 2 on the x-axis, and when we're off the screen here, we're at minus 2. So let's just put this back in zero. So now what I'm going to do is there's an interpolation patch, which I can give a start value, an end value, and a duration, and it will go from the starting value to the end value over--following a certain curve.
So I'm going to bring up that interpolation patch. We're just going to drop it here. So I said my starting value was going to be minus 2. My end value was 2. And we'll have this take 10 seconds. I'm now going to take the result and I'm just going to put it in on the X position here. And you can now see, if I start this over, that I have my title, which is going across the screen.
So now let's tie this back into the workflow editor and actually use those protocol inputs that we were talking about. So I'm going to just resume here. and we said we had a duration, so I'm just going to connect this duration to the duration of the interpolation here.
Zoom out a bit. We have our title here. So we can just -- this is the title string, so we can just put that as the input for the string. And the enable title -- well, we're going to connect this to the enable of the billboard. This will turn on or off if we're actually drawing that image to the screen.
So now nothing's on screen because I now have the public inputs for my composition. So I have to turn on my title. And I can type in a title. So this is my title. We'll set a duration to 10 seconds. And we're not going to worry about the offset right now. And there you have it. There's my title coming across the screen. And if I wanted to go quicker, I can just set the duration to five seconds. And now the workflow editor can leverage all this and do it. So let me show you how easy that is.
So let me just stop this. Now I'm just going to save this composition. So do a save as. And if I go to my library, Podcast Resources Compositions. So this is a titling composition that's doing a bumper title. And I'm just going to say this as, you know, my first bumper title.
Now I've saved it. So now let's hide Ports Composer. And if we relaunch the Workflow Editor, And if we go back down here, I can click here. And you see, I now have my first bumper title, which has appeared. And now you have the wonderful colors. And I can turn on and off my title.
I can set the duration. So I can make this, you know, be five seconds and be really quick across the screen. I have the skimming here. And I get the preview. So that's how easy it is to write your own composition and integrate it with the Workflow Editor.
Well, we put a lot of efforts on making these two really fast and easy to use. And the idea was really to hide all the complexity So, and still generate optimized workflow for the grid. In a nutshell, I think we have an incredible way of creating podcasting workflows. And I hope you are as excited as we are about all this. But we still have some stuff we'd like to talk to you about today.
Last year at WWDC, we demonstrated what we call a crazy workflow during one of our sessions. The goal was to stimulate your interest and show you how powerful this technology is. So this year, we want to continue this tradition and get you to think about what you could do with workflows and Apple technology. So let me move to the demo machine and prepare some stuff. And for now, I'll let Kjell to tell you about what's going to happen.
So this year, we're trying to come up with something fun to do during our session here at WWDC. And we're trying to come up with our crazy workflow that we like to do. And I really want to insist here, we're just trying to show you that the possibilities are really just limited by your imagination. The Podcast Producer allows you to do anything that you can write on the command line. So the possibilities are really just endless. And so we're thinking about kind of a fun idea we could come up with.
[Transcript missing]
So that's what we're going to demo. So if we can move to the demo machines, please. Eric, I think you've got some content to show what we're going to be inputting into our workflow. Yes. So on the left, I have a screen capture recording that we did yesterday. So that's basic, just screen capture.
And with Kjell's voice. And on the right, we have a transcript of that speech that we wrote in XML. So I think we've already run this through a workflow, and I think the video will explain pretty much what's happened. So, Eric, can you play it back for us? Yes.
The goal of this demo is to show the power and flexibility of custom workflows. The original idea we had was to generate a closed captioned movie. To do this, we wrote a custom command line tool. It takes a movie and a text file and outputs a closed captioned movie.
You are currently watching the output of this workflow. When we were done with this, we wanted to do something a bit more fun. So we used Quartz Composer. Eric, why don't you show them how we can make this a bit sexier? Sure, Kjell. So let me do that.
and here's the other results. So here you see a course composer composition that we threw together pretty quickly. And we're just, you know, playing around with different ideas. And we just wanted to put something together pretty quickly to just show you what we could do with Chords Composer. And just, I mean, closed captioning is great for the purpose it serves, but if you want to do something a bit more fun with the text that you have, well, you know, you've got Chords Composer and you can do some fun stuff.
So that's great. You know, we finished at 3:00 AM in some morning. And if you were at Dave O's session yesterday, you learned that we're not allowed to sleep. So we're thinking, it's great. We've got all this data. We've got this movie. Couldn't we do something a bit more interesting with it? And they're like, well, yeah, we could search it. So wouldn't it be cool if we could have some way of jumping to a part of a movie just by typing in the text? So we wrote a Quartz Composer composition to do this, too.
So Eric, can you show us? So I think I said your name at some point. Can you try typing in your name?
[Transcript missing]
Okay, that's not it. We're sitting there and we're saying, "So this is pretty cool." But you've probably noticed that there's one step here that hasn't been automated. Any ideas here? Have any of you guys ever heard of Max Speech? So we've been working with MacSpeech, and we're going to start off the demo. And I'll explain while it's processing, we're going to explain what's happening here.
So, I'm just going to put on my headphone and find a microphone. You ready, Eric? So we're just going to do a quick screen capture of a little lecture that we've prepared for you. Just make sure everything's working right. And when you're ready. Oh, so first thing first. Just to make sure that everybody believes here that we're doing this live, anybody have a word they want me to say?
[Transcript missing]
Chocolate cake. There you go. And it didn't come from this side, so it's not the Apple people. Whenever you're ready. Let's go for it.
Chocolate Cake Welcome to this year's class of the Essence of the Monument. Today, we will be talking about the most iconic structure in Paris. The Eiffel Tower is the tallest building in Paris and one of the most recognized structures in the world. It was built as part of the World Fair, marking the centennial celebration of the French Revolution.
The tower was supposed to be dismantled, but was used for scientific experiments and as an antenna before becoming the icon that it is today. Thank you. See you next time. So while Eric's submitting this to the Podcast Producer system, I'm going to take a little minute and explain what's going on here.
So what's happening here? So as I said, the one step that wasn't automated was actually taking the content and getting the closed captions out of it. And we were thinking about it, and we were like, "This very successful product on the Mac OS N platform, which is MacSpeech Dictate.
It's the software that lets you talk to your computer and will basically just write out whatever you're saying." And we were like, "Well, that's exactly what we need." So we've been working with MacSpeech, and I really want to thank them for their help. And they have a very-- They provided us with a very early prototype. It's a command line tool that will take the QuickTime movie as an input and output the closed caption file.
From there, we can pretty much do everything that we already showed you. So that's exactly what we're going to do with this workflow. This workflow is going to put everything through the Max Speech command line tool, output the closed caption file. We can then generate the closed caption file using the QT text track. We can do the Quartz Composer composition, movie that you saw, and we can also render that Quartz Composer composition that lets you search the content. So once this is processed, I'm now going to be able to search through all my content.
So now it's going to process on the grid. This takes a little bit of some time. So, uh... Eric, how's it going? Well, we still have to wait one more minute, so... This is about another minute, so, uh... So, this is where everybody's crossing your fingers. I hope everybody in the room here has got their fingers crossed. No, this really works great.
So actually, everything that you saw before, that closed caption movie that we did, we didn't write it out. We cheated. We used the Max Speech Dictate tool. And you saw it got it 100% correct. So, 118, 120, one more minute. Do you plan to do the squeak-hand, Kjell? I don't know. I think it depends a lot on this demo. Oh, yeah, sure.
So, that's the one thing I haven't mentioned, is this workflow is just for-- we're just showing it today. This is all very early prototype. And the goal of this demo is really to show you what you can do. This is not a shipping workflow. This is something that we wanted to play around with, and we've heard a lot of feedback that you guys were interested in, and we wanted to see how possible it was to do it. So this is really proof of concept.
So, there we go. Eric, you've got mail. Thank you. So if I look at my mails now... Okay, so I've just received an email with all those three videos that Kjell told you about. I'm going to download this one on the desktop to show you this full screen.
Chocolate cake. Welcome to this year's class of the Essence of the Monument. Today, we will be talking about the most iconic structure in Paris. The Eiffel Tower is the tallest building in Paris and one of the most recognized structures in the world. It was built as part of the World Fair, marking the centennial celebration of the French Revolution. The tower was supposed to be dismantled, but was used for scientific experiments and as an antenna before becoming the icon that it is today. Thank you. See you next time. One mistake.
Can we just see the search one again? Because I really like that one. I hope you appreciate the little effect that we did here. So I think I said thank you at the end. There you go. We're all the way to thank you. Thank you. So thank you.
Can we go back to slides, please? So that was this year's crazy workflow. Just to recap what we talked about. So we wrote a command line tool for adding closed captions. If you have a closed caption file, we can automate this and we can add this to your movie using QT text tracks.
And you know, to go one step further, we had some fun with Quartz Composer. We sexied it up a bit with Quartz Composer. Then we wrote a Quartz Composer composition that makes you search-enabled playback, so now you can jump around in your movies and find exactly what you're looking for. And this is all automated thanks to Max Speech. This is an early prototype, but I'd really like to thank Max Speech for the work that they did for us.
So that's today's session. So the two things I really want you to take home today-- Workflow Editor. We made a real nice tool to make it really easy and just a lot of fun to write podcast producer workflows. Two, the Podcast Library. This is the simplified, flexible, and standardized publishing model. We're leveraging Atom. This is an industry standard, and we really think this is gonna simplify your integration story across the board.
As I said in the beginning, these are only two of the features that we're shipping with Podcast Producer 2. There are a lot more, and if you were at Devo's session yesterday, you heard all about them. It's really cool. So for more information, send us an email at [email protected]. While you're waiting for Snow Leopard, check out the Podcast Producer Workflow Tutorial. It takes you step-by-step through how to write workflows. And it's over 120 pages long, so it should keep you occupied until Snow Leopard comes out.
Here's some of the related sessions. There's some more deploying podcast producer this afternoon. If you guys are interested in Quartz Composer, there's also that. And we'll be in the IT lab this afternoon, so feel free to come by. If you have any questions, we'd like to know what's going on. Just come and talk to us.