dotnet.tv 6 - WebServices

The dotnet.tv Diary

We´ve done it again: Another installment of dotnet.tv - a video series for .NET Framework developers - is almost finished. Postproduction should be just some more 4 hours or so on next Tuesday.

But even though this is already the sixth installment of dotnet.tv (if you´re insterested in info on earlier installments, see their blog diaries or visit the dotnet.tv homepage at MSDN Online Germany) in some regards it again has been a new experience for us.  For example, it´s the first installment we did in English. The reason for this: The topic is WebServices (thanks a lot to Christian Weyer for allowing me to tap his "knowledge base" :-) during my work on the script) which is about communication standards and English is a international communictaion standard. But also we wanted to shoot at least once in English to make dotnet.tv accessible to a larger audience beyond the German speaking world.

What is dotnet.tv?

dotnet.tv is an educational video series for .NET Framework developers sponsored by the German software magazine dotnetpro and MSDN Online of Microsoft Germany.

dotnet.tv is produced by me, Ralf Westphal (left; author, director, speaker), and Sebastian Baumgartner (right; camera, sound, editing):

Our goal with dotnet.tv is to educate and to entertain at the same time. Each installment of dotnet.tv so far is about a .NET Framework technology (e.g. .NET Remoting, Code Access Security, ADO.NET, WebServices) and of course delivers technical information. But rather than just sitting in an office and talking into the camera and maybe drawing some sketches on a whiteboard or sitting in comfortable chairs just chatting along we really try to illustrate what we´re talking about. We want to illustrate by finding analogies in the real world


dotnet.tv 3: Topic was .NET Enterprise Services, analogy here: Stateless Serviced Components can be compared to cheap personnell hired by hotels and the like for just one event. Such personnell does not keep any memory of what they have done at an event, and is instructed for each event anew.

and evoking emotions in our (mostly male developer) audience:


dotnet.tv 4: Our model clearly demonstrated what high fidelity data access with ADO.NET means (compared to former cursor based technologies like ADO) by providing a 3D reality view of what magazines for male readership can only show 2D pictures of.


dotnet.tv 3: To exploit the whole spectrum of emotions, sometimes, though, we need to resort to showing inconvenient situations to effectively move the developer audience.

Our belief is, technical magazines and books do a good job of conveying facts. But technical magazines and books have a hard time to convey fundamental information, processes, anything involving several "entities" (e.g. PCs, people), as well as emotions. A technical artikel almost per definitionem is dry stuff.
And live presentations at developer conference only marginally do better. Although they are able to evoke emotions in the audience through the speakers personality, they are limited in what can be done on stage.

So the reason why we believe in video to educate developers on certain aspects of their trade is, video is the most effective medium in some regards and is not used enough. But most importantly we think, it´s high time for some fun in our business. That´s the reason why we always try to strike a balance between sound technical information and entertaining elements in dotnet.tv. And so far the overwhelmingly positive feedback from the German developer community has assured us, we´re not too far off the mark with our efforts :-)

Each dotnet.tv installment is about 25 to 45min in time, contains spoken explanations, sometimes some acting, is shot at several locations with "analogy-value", and shows graphics/code as needed. It´s published first in a dotnetpro issue on CD-ROM (as a 900kbps .wmv file) and a month later online at MSDN Online Germany (as 100kbps and 300kbps stream .wmv video file).

In addition, dotnetpro also publishes a short article along with each dotnet.tv installment to serve readers who prefer to read (first) about a topic.

And I try to document the production of each installment with diary postings in my weblog.

Day 1

dotnet.tv is about WebServices. We decided to shoot in Hamburg - instead of Munich, our usual location -, because of some difficulties to coordinate our personal schedules but also because Hamburg is a city of many cultures, where communication across boundaries is part of everyday life. In line with our habit to place our presentation so to speak inside the analogy, we thus thought, the port of Hamburg would be a good symbol of cultural interaction.

Sebastian came a day early and stayed at my place. This not only made it easier in the morning to start right away, but also to work late (on another joint project) and party hard :-)


Sebastian still does not really know, what´s lying ahead of us. He´s still quite slaphappy (in a very original sense of the word, as it seems :-)

On dotnet.tv we started out with preparing the script and the shooting schedule.


Sebastian cuts the printed pages of the script. It´s 4 pages on a DIN A4 sheet. Anything larger would be hard to carry around during shooting.

Contrary to our tight schedule I had written the longest script ever for a dotnet.tv installment resulting in some 160 cuts, 30-35min running time for the video, and new "special effects" like split screen we had never tried before. However, I tried to compensate for that with a new idea for shooting onscreen scenes and by limiting us to just 3 shooting locations, and just 2 "actors".

Later on we went down to the port to shoot the first scenes. Incidentally this would also be the first scenes in the video, which makes it a little easier to get started, because then you can follow the flow of "the story" a little more. The day was beautiful.


View of the port of Hamburg with two museum ships.

After an early start, though, problems crept up pretty soon. When we reviewed the first couple of scenes shot, we realized a strange sound in our recording. Barely audible, but nevertheless annoying. After some time of identifying the source of this sound, we had to give up and seek help. Shooting had to be cancelled for the day :-( But we found a very cooperative guy, Volker, who was able to finally almost fix the problem.


Volker shows Sebastian the solution to our sound problem.

Volker only almost fixed the problem, because we had to reduce our noise filtering and still had to live with some, but very low sound. The final solution probably will be to exchange the camera, since it seems there is some hardware problem with it. (Too bad, it was our new camera, although, a used one.)

Day 2

The next day went as planned - but of course we were now almost a day behind schedule. We shot all of the scenes in the harbor. The day again was beautiful and I got a sunburn. Again it was much fun to enact what I had written before.


Eating a Hamburger when shooting in Hamburg had to be part of the video.

Sebastian as usual was responsible for camera and sound.


Sebastian is checking the wireless microphone we´re using. With just a team of 2 there is no boom operator, script girl or the like. On top of the camera sits our teleprompter with a sheet of my text.

Later on that day we met some colleagues who were in Hamburg to do a presentation before the local .NET user group. What a small world!


Michael Willers (newtelligence AG, middle) and Frank Prengel (Microsoft Germany, right) on their way to their presentation.

Then from 6pm on we did all scenes with the Sushi Bar. In this dotnet.tv installment a Sushi Bar represents a service offering. For this analogy I wanted the service provider and the service consumer to look as different as possible. So an asian delivery service seemed to work ok. (First I had thought about shooting at a McDonald´s restaurant, but then it seemed to be too complicated with all the hassle to get a permission, find a suitable "actor", and shoot while customers line up around us.)

Fortunately I know an excellent Sushi Bar in Hamburg and the son of its owners was willing to act before the camera. He did a good job.


Our Korean "actor" did very well - except for his expressions of emotions. It had a hard time to show joy as well as anger. His explanation was: Asians (at least quite some) in general are less overt with their emotions.

Day 3

Due to our delay we had to record the explanations from the off (to underly screenshots and graphics in the video) on day 3. So we went back to the port to get a consistent sound background. Since there is no budget for sound/text recording in a real studio, we need to do it that way in order to limit the "sound jumps" across cuts.

In addition to recording my text, though, we also jumped on the hydroplane which is based in Hamburg´s port, and took an airial sightseeing tour of Hamburg. It was absolutely great!


A view of Hamburg from the hydroplane. Again a perfect day!


Sebastian sat next to the pilot to make it easy for him to shoot with our camcorder.

Flying with a plane, climbing up a wall, or filming in rain and wind on top of a hill near the Munich olympic stadium certainly is part of the fun doing dotnet.tv is. Who wants to sit in a studio? Who wants to see someone sitting in a studio? :-)


dotnet.tv 5: Security no only plays a role in the .NET Framework.


dotnet.tv 2: There a several ways to gain meta information: Use Reflection or climb to the top of a hill.

Also on our schedule for day 3 were the scenes with our female "actor" representing a Sushi Bar customer. We shot them at my home in Hamburg, because Nicole´s kitchen was not large enough. To have a German blond girl with braids as a customer of Mr. Kim's Sushi Bar seemed a perfect contrast.


Sebastian wiring up Nicole with our microphone.

Day 4 to 7

As usual after 3 days we were finished with shooting at all locations except for on screen graphics. So we resorted to a nice café in Hamburg - the Stadtcafé Ottensen, which is well known for it´s design created by the artist Friedensreich Hundertwasser.


Our editing room at the Stadtcafé Ottensen.

Since Sebastian knows the owners of the café/restaurant, we were allowed to sit on the first floor, which is closed for the public until 6 PM. This gave us some 8-10 hours a day to edit the video. But first we shot the explanatory screens to intermix with the live video scenes.

Also as usual we filmed them and did not capture them using some software/hardware. Although the quality so far had not been optimal (due to video compression small script had not been well legible), we still prefer filming the screens. During tests software capturing delivered even worse results, and hardware capturing is currently beyond our budget.

To make the screens/animations more appealing, this time we used quite dynamic camera motions. In terms of legibility the results seem to be quite good. But were excited to hear feedback from the audience.


Our video editing setup. Foreground: Apple Powerbook with Final Cut Pro, background: Dell Laptop with Powerpoint :-)

Again, editing took much time. Although we streamlined the process a little bit by more clearly with improved notes on which takes during shooting were the best, we had more cuts to make, more special effects (like video overlaying), and some scenes where the final sequence had to be "composed" from lots of footage. Also difficult were scenes, were the spoken text from the off was much longer than the video material to overlay it. (I´ve to look out for that next time when writing the script.)

Unfortunately in the end we ran out of time and were not able to put in all the material we had shot. We had to leave out some 2-4 minutes on securing WebServices in order to make the deadline for delivering the video to dotnetpro. But we´ll put in those scenes for a "director´s cut" later next month.

The video will be released first in dotnetpro issue 6/04 and then be put online at www.dotnettv.de.

But right now, you can already watch a short trailer. Enjoy!

PS: If you like, send us your feedback. How do you like dotnet.tv?