Xsanity Interviews Marcel Borsten

Monday, September 27 2010 @ 07:30 AM EDT

Contributed by: aaron

Hi folks! I'm very excited to introduce a new regular feature to Xsanity: interviews with members of our community. My plan is to publish these about once each week. I hope you find these to be a unique way to bring sanity to Mac enterprise storage and systems.

To kick this off, I pleased to introduce Macel Borsten, pictured at right. Marcel is the founder of Impart, a provider of podcasting solutions for education. They are based in Leiden, The Netherlands, and have customers in The Netherlands and Belgium. At the moment, Impart has three employees. He's also the administrator of PodcastProducer.org, which bears a passing resemblance to another site I've seen.

Read on for the interview...

[Update: added a link to their English website.]

Aaron:
Marcel, tell me about your company.
Marcel:
Ok, my company 'Impart' develops a solution that is mainly aimed at education. We make a recording system to make recording classes very easy. It''s called Recording Box and it's based on Podcast Producer. I'll tell you a bit about the history.
Back in the days of 'Tiger', Apple was working on the preview technology that was later to become Podcast Producer. We started working with Apple in Holland and several costumers top set up pilot projects with this technology. Later Apple added the technology in Leopard, but working with this our customers were missing some functionality.
Unlike in the US, in Holland there are almost no Apple-based infrastructures in education (although, that is changing more and more).
To use Podcast Producer, the presenter (teacher) needed to use Macs, which turned out to be a bit of a problem.
Also, when Leopard was introduced, Podcast Producer didn't support dual (picture in picture) recordings, or chapter marking.
There was one more problem to solve: We wanted the workflow of making a recording to be as simple as possible, I mean, 'Professors' had to be able to use it! We didn't want them to be responsible for entering metadata or workflow decisions.
Aaron:
So you thought up Recording Box.
Marcel:
Yes. So then we come to what Recording Box is now: It's an application that runs on a single Mac (usually Mac mini) with a touch screen attached. We connect a video (and audio) input and a screen-grabber directly to the one Mac mini. And all the user has to do is press a big button on the screen to start and stop the recording.
Aaron:
One button?
Marcel:
Ah, well, how it works is, first the recording is planned in a planning system and all the metadata for the recording is already entered (this can be done by hand or through an existing planning system). Then, the person who is going to start the recording enters a pin-code on the screen (a bit of authentication, so students don't make random recordings) and then selects from a list of planned recordings for that machine, that day. Then you can press the big 'RECORD' button and the recording starts.
Unlike with Podcast Producer, you keep seeing a live preview of both inputs on the screen, when you are done you press 'STOP' and confirm, that's all.
Because all metadata was entered on advance, the recording is submitted to Podcast Producer and processed with the selected workflow. Very simple.
Aaron:
So for the user it is extremely simple. This is all before it enters the PcP workflow, then.
Marcel:
Yes, it is. The big problem that we saw at our customers was, that they still needed to have people manage the recordings. We developed Recording Box as a solution that can be fixed in the class-room and used by the teacher, without the help of IT.

But there is more...
Aaron:
Please tell!
Marcel:
We have developed tools that are used in the workflow (within Xgrid) to do al sorts of fun stuff with the recordings.
We detect chapter changes in presentations (I know, Podcast Producer does this too, but we are more accurate AND we detect the time at which the next slide is static. Not like PcP, where is just marks the time when the image starts changing) We also detect wether there was a slide change or an animation/movie playing. With this information we can extract nice screenshots of all detected slides.
Then, we do an OCR on the images to get text out of the presentation. We use the text to generate a nice title for the slide, and store the rest of the text for later searching. We can add the chapters to the output movie as a chapter track (with nice titles).
Aaron:
That is very cool.
Marcel:
And, last but not least, we have developed a Flash and iPad application to view these presentations interactively.
Aaron:
What kind of interaction is in the Flash/iPad app?
Marcel:
You can select which screen you want to view as the large image (this works extra nice on the iPad version), and search through text and images.
Our iPad app has been approved, but we want to have a bit more example content before we publish it.

Aaron:
Let's talk about your back end systems. We are a community of plumbers, still.
Marcel:
Aha, well, the backend is based on Podcast Producer and (most of the time) Xsan.
Aaron:
And Xgrid to mangle the video files.
Marcel:
Once a recording is uploaded, Podcast Producer generates a set of Xgrid tasks and runs them. All the rendering machines are connected to the Xsan filesystem so they have direct access to the files. It is possible to do this with NFS, but you will run into problems scaling that to a large amount of machines.
Aaron:
How many rendering machines?
Marcel:
It all depends on the amount of recording that the institution does, but for a nice little cluster we use 4 machines to do the rendering. But we also have place where we just use one Mac mini.
Aaron:
Cute.
Marcel:
They don't make that many recordings :)
Basing it on a Xsan file system gives you great performance and scalability.
Aaron:
That's pretty amazing about the technology. It scales from a single mac mini to...how large?
Marcel:
Well, with Xsan you can connect as many clients as you have FC connections, but if you don't use Xsan you're limited to about 8 machine before performance will degrade. We have used up to about 8 or 9 machines. In practice you need to work out how many recordings you are going to get in and how fast you want them published
Aaron:
8 or 9 machines with Xsan or with NFS?
Marcel:
Both combined
Aaron:
You have pushed the limits of Podcast Producer pretty close to the edge.
Marcel:
There are some limitations:
Aaron:
The limitations are intereting too!
Marcel:
Xgrid distributes single jobs amongst the Xgrid clients. These jobs are the steps in the Podcast Producer workflow. One job to render out an iPod movie, for example, is done by one Xgrid client. So, even though you have 10 clients, that single rendering job doesn't run faster. You'll need to design your workflow to have as many parallel jobs as possible.
Aaron:
Right, the movie must be split into segments it that.
Marcel:
Yes, but Podcast Producer doesn't support that out of the box. It's just something you'll need to consider when planning for your cluster. For our costumers it hasn't been a problem (yet).
Marcel:
Since Snow Leopard, you can also use Compressor and Qmaster. When using Qmaster, you will have to separate this cluster from your Xgrid clients. And to be completely honest, I try to avoid Qmaster with Podcast Producer like a hive of bees.
Aaron:
They can't be assigns to both clusters? Seems inefficient.
Marcel:
If you mix the systems, chances are you have a lot of iron doing nothing a lot of the time.
Aaron:
It is good you are aware of these issues.
Marcel:
There is one more issue: Podcast Producer 2 (Snow Leopard) uses a tool to generate and render intros, exits, burn in logos and the picture in picture stuff. This tool is heavily dependent on the GPU and most Xserves are not that well equipped in that department. We see that these jobs don't run that great on Xserves. It's much nicer to have some Mac Pros or Xserve's with beafy GPUs.
Aaron:
Too bad they can't switch GPU to CPU. But I don't know enough about processing to know if that would make the difference.
Marcel:
Yes, we have been looking at the possibility to make our own rendering tool for this, but there are not enough hours in the day.
Aaron:
Well, the beauty of your solution is that it builds on so many existing technologies. So you can leverage the effort of so many others. I would think you'd rather not get so monolithic.
Marcel:
No, that's right, I also want to mention that the Flash and iPad Recording Player apps and the tools in the workflow to generate the required stuff are independent from our Recording Box solution. You can use them also with Podcast Producer dual recording recordings.
Aaron:
So your solution encompasses many parts — Cocoa, PcP, Xgrid, Xsan, plus hardware.
Marcel:
Yes, and a nice bit of Ruby too.
Aaron:
These days, every solution includes a nice bit of Ruby.
Marcel:
Podcast Producer is mainly written in Ruby, and we use it a lot for scripting in the workflows. The Ruby-Cocoa bridge is really nice, as a Cocoa programmer I use that a lot in my scripts.
Aaron:
What kind of support did you receive from the community?
Marcel:
Well, I have been working with Podcast Producer since the preview technology release, and support from Apple has been pretty good. During that time George Bray started podcastproducer.org to form a community for Podcast Producer administrators. Last year George announced he was going to stop with the site and I volunteered to take it over. Since then, I have made a new implementation of podcastproducer.org
Aaron:
And PodcastProducer.org is turning into a valuable resource for the software. It is great that you give back to the community that way.
Marcel:
Yes, I have also build some tools that I release as open source. To be honest, I haven't had much time lately to develop further on them. I try to combine it with work I do for customers. For instance, I recently was working for a custmer who wanted to publish to Amazon's S3 from PcP, I scripted that and added that to the open source tools.
Aaron:
Marcel, I really appreciate the opportunity to peek into your business. You have brought supercomputing technologies to classroom recording, with a big "Start" button. I wish you the best of luck expanding out of the "low-lands."
Marcel:
Thanks, next month I'll be presenting this is Munich at an iTunes U event. For people who want to see it.
Aaron:
Please send me the announcement and we'll post.

0 comments



http://www.xsanity.com/article.php?story=20100924071824270