While at NAB, I spent half of my time manning the Expression Studio pod at the Microsoft booth. I spent the other half of my time manning the TM Forum booth. You may not have heard of the TM Forum before, unless you are in the telco industry.
The TM Forum is an industry association focused on transforming business processes, operations and systems for managing and monetizing on-line Information, Communications and Entertainment services. The Forum has over 650 global members from across the converging industries of telecom, cable, media and the Internet.
What is interesting about the TM Forum is that they are not an official standards body, however, the industry association is focused on creating standard methodologies through multi-vendor implementations that are real, not theoretical.
The focus of the TM Forum booth is the Content Encounter catalyst project. The booth had three sections manned by a different vendor, IBM, Motorola, and Microsoft / Cognizent. Check out this video interview over on the Channel 9 Communicating show for a 10 minute overview of the TM Forum and the Content Encounter project.
So, many of my peers (myself included) in Developer and Platform Evangelism have JVC GZ-HD7 camcorders for customer focused user generated content. I have received a few questions on the equipment and workflow with this camera so here is what has worked for me.
Equipment
- JVC GZ-HD7 camcorder
- Microphone BSM-7M Micro Omni Stereo LAV Mic
- Bogen 7858 Modo Maxi Tripod
- USB external harddrive
- Pelican #1200 Mini-S Case
- ZOOM H4 - Handy Digital 4-Track Recorder
The first two items are most important. I connect the microphone directly to the camera to provide the best audio experience because it is what the person is saying that is most important, not the video. Otherwise, relying on just the built-in camera microphone can result in low sound quality.
For the rest of the equipment, while a steady hand can result in good video, a tripod is best if conducting a sit down type of interview.
Two external drives is best to speed video encoding, one for the source video and one for the encoded output but as a minimum a single separate drive for encoding definitely still helps.
Software
The software that comes with the JVC GZ-HD7 camera is pretty basic but necessary to do two things:
- Pull the raw video files off of the camera using "PC Backup" (See the manual)
- Convert the files to format usable in Expression Encoder (or other video editing software)
After installing the software, connecting the camera via a USB port will launch the Power Cinema for Everio software to backup or copy the .TOD files. The files can be quite large at full HD, you will want plenty of disk space.
Once you have the raw .TOD files on your system, use the PowerDirector Express software that came with the camera to convert the .TOD file to a .mpeg file. Here are the steps:
- Click File | Import... | Media Files for a single file or Media Folders to import an entire folder.
- Once the file appears in the gallery at the top,
drag the file to the bottom area here:
- Click the "Produce" button at the top to convert the file to a usable format.
- Select "Create a file" and click the arrow to continue in the wizard.
- Be sure to select the button on the left by the title "File Name" in order to change the location of the file.
- For my HD video, I selected .MPEG2 and the "Mpeg-2, 1920 x 1080i" format
- Click the right-arrow again and then the checkmark to finish the conversion.
The above steps result in an mpeg-2 file that can be opened in Expression Encoder. I had a jpg image that I wanted to show at the start and finish of my video. It took about a minute to import the jpg into Windows Movie Maker and turn it into a 3 second wmv file that I could then use a leader and trailer to the video. In Expression Encoder 2 it is real easy to import a XAML file for text/image animations that burn into the video.
Tips
Here are a few things I found helpful:
- Have separate folder locations for raw video, converted video (output from PowerDirector), and encoded video (output from Encoder 2) to help keep things organized.
- Use at least one, if not two external USB drives during conversion. Trying to convert on a single disk drive also running the OS will take much longer. I used two USB drives and it cut the production time in half.
- If you have a machine with multiple processors, use it for the conversion process. This is very processor intensive, especially if you have multiple hard drives available to reduce the disk drive throughput bottle neck.
- Watch your system temps, I actually had to run a fan across my laptop keyboard to keep it from putting itself to sleep due to high temperatures!
The Communications Sector evangelism team has a show on Channel 9 called Communicating. My peers Michael Scherotter and Kirk Evans have already generated some great content with communications sector customers. We will continue to upload content that we hope you will find interesting so please book mark our show on Channel 9.
I delivered a webcast on April 23rd covering Windows Server 2008 and PHP that includes a step-by-step demonstration on configuring and testing PHP on Windows Server 2008 as well as integrating PHP with .NET services in IIS 7. Here is the event overview:
Windows Server® 2008 featuring Internet Information Services 7.0 is a powerful Web application and services platform that delivers rich Web-based experiences. With the addition of FastCGI support, it is now possible to run PHP applications in a fast and stable manner in IIS. In this session, learn how to configure FastCGI and run PHP applications on IIS 7. In addition, see demonstrations during this webcast that highlight how a PHP application can take advantage of other services available in IIS 7.
The link for offline viewing is here. Let me know what you think!
I blogged about this application a while back but it is worth mentioning again because of the improvements in the latest version such as voice recognition and better GPS integration. I have a new Windows Mobile 6 phone that includes a GPS so I have been testing the Live Search application for real-world driving. My test scenario is several weekends driving all over the Atlanta metro area for my daughter's basketball tournaments at various local high schools.
The GPS integration works great. Even when driving on the highway, the maps download fast enough to keep up as I drive down the highway, which much seemed better in this latest version compared to the previous version. The application has well timed "beep" notifications for when you have a turn coming up so can safely keep your eyes on the road.
I was thinking about getting a stand-alone GPS unit but this setup (WM 6 phone with built-in GPS and Live Search for Mobile) is "good enough" for my purposes. My only complaint is that it can take a while for the application to get my GPS position the first time when loading the app. I don't know if it is an issue with the phone or software but it is something to keep in mind if you need quick directions.
Oh, the other thing is that after a couple of hours of driving the battery starts running low so it is wise to charge the phone when using it as a navigation tool. Luckily my new after market HDRadio includes a USB port and Aux jack for my Zune. When using the phone for navigation, I connect the phone via the USB cable to my radio to keep it charged while navigating.
This is a question that comes up from time-to-time as well as connecting to the Internet via the device emulator. I usually send a quick email with steps but that's dumb. Instead, I decided I'd write a blog post on it that I can refer customers to.
Connecting to the Internet
Launch Visual Studio (2005 or 2008) and go to the Tools | Device Emulator Manager to view a list of installed emulators:
Choose an emulator from the list and click Actions | Connect to launch the emulator. Once the emulator is running, select File | Configure to setup networking.
Check the "Enable NE2000 PCMCIA network adapter" checkbox, choose an option, and then click OK. Note that there are many other options to configure for a device emulator such as mapping serial ports, setting battery level, enabling speakerphone, headset, or carkit options, etc.
Once you enable networking, the device emulator should display the icons showing that it is connected.
Note that to enable phone networking to simulate making and receiving calls, you would use the phone emulator tool to connect to the device emulator.
At this point, try to surf the web with Pocket Internet Explorer. A good link to try is http://mobile.live.com. You may get this message:
Click the settings link to configure connections. If you are on a corporate network or a network with a proxy server, you probably need to configure a proxy server by clicking the "Set up my proxy server" link. If that does not help, or you are not on a network with a proxy server, go to Settings on the device emulator and open the Connections application.
Click on the Advanced tab and click the Select Networks button. Set both options to "My Work Network".
Those are the steps it took me to connect to the Internet from the device emulator. Next up is connecting to your local IIS on the host machine.
Connecting to Your Local IIS
Once you are connected to the Internet, the next step is to setup access to your local IIS server. Make sure IIS and running first and then try accessing your local IIS server in the desktop browser. http://localhost is how we normally reference web services, etc. when writing applications but localhost doesn't work from the device emulator. You have to access your desktop IIS server from the desktop's IP address.
Troubleshooting
Before diving into application development, be sure to check both Internet access and local IIS connectivity using Pocket Internet Explorer first. if you are not able to access either the Internet or the local IIS on the host machine via IP address with Pocket IE, go through the steps above before proceeding.
if you are having issues connecting to your local IIS machine, you may need to open up ports on the Windows Firewall or any other third-party Firewall applications running sa well.
Silverlight.net has most of this content and it can be found there or through web search, but to hopefully save you time here are some quick links / tips:
Where to get the tools:
http://silverlight.net/GetStarted/
All tutorials/HOLs/Samples need Silverlight 2 Beta 1 Runtime, Visual Studio 2008 Tools and Silverlight 2 Beta 1 SDK installed. Expression Blend 2.5 is recommended.
When you try to access the SDK help from within VS 2008, the Silverlight help is not automatically integrated. It is pretty straight-forward to do by following these steps:
1. Open Visual Studio (you might have to open VS as an administrator).
2. In the Help menu, choose Index. Microsoft Document Explorer displays.
3. In the Filtered by: drop-down, choose to (unfiltered).
4. In the Look for field, type Collection Manager.
5. Below the Collection Manager heading, double click Help.
6. Below the Collections available for inclusion in VSCC heading, check Microsoft Silverlight 2 SDK Documentation.
7. Click Update VSCC.
You will be prompted to close all open instances of Visual Studio. Follow steps 1 through 3 above. Click the Contents Tab and look for Microsoft Silverlight 2 SDK. It will take only a few minutes to update the collection and merge in the Silverlight help files.
Silverlight 2 HOLs
http://silverlight.net/learn/labs.aspx
Silverlight 2 Tutorials
http://silverlight.net/learn/tutorials.aspx
How Do I Silverlight 2 Videos
http://silverlight.net/Learn/videocat.aspx?cat=2
Silverlight 2 Samples (Code you can download and explore)
http://silverlight.net/community/gallerydetail.aspx?cat=5&sort=2
One question that comes up quite a bit when customers first look at Microsoft Office SharePoint Server 2007 and InfoPath 2007 development is "what do I need to get started". Here is a quick summary of steps to get started:
InfoPath forms can be submitted to a variety of end points such as a database, a web service, or to Office SharePoint Server. Office SharePoint Server is interesting to many customers because of the integration with Windows Workflow with the general process of a user submits an InfoPath form to a Microsoft Office SharePoint Server 2007 (often referred to as MOSS 2007) , which results in a workflow being created that processes the document. This can include creating and assigning tasks to other users or groups who should review the submitted document, calling web services, etc. To be able to build and compile a development projects for SharePoint Server 2007, install the following:
-Visual Studio 2005 with the Windows Workflow 3.0 Extensions installed
-SharePoint Server 2007 SDK (update released 2/08)
-Windows SharePoint Services 3.0 Tools: Visual Studio 2005 Extensions, Version 1.1 (update released 3/08)
All of the above can be installed on a machine that does not have SharePoint Server installed. (There isn’t a dependency check that requires SharePoint Server 2007). This will allow you to design and compile workflows. In order to test an InfoPath Form and workflow for SharePoint Server 2007, a SharePoint Server 2007 environment is required.
The SharePoint Server 2007 SDK (link above) includes numerous InfoPath and workflow examples that can help get started. MSDN Virtual Labs also have workflow and SharePoint workflow examples as well that don’t require any additional software than a web browser to try out:
MOSS Workflow
TechNet Virtual Lab: Creating Workflows for Microsoft Windows SharePoint Services 3.0 (SharePoint Designer)
MSDN Virtual Lab: Creating Workflows for Windows SharePoint Services (SharePoint Designer and VS 2005)
MSDN Virtual Lab: Building Custom Office Applications Using Microsoft Visual Studio Tools for Office (Part 4 of 4) Create a SharePoint Workflow (VS 2005 lab. Parts 1-3 of the VLab series are already completed and not required in order to complete the part 4 lab).
InfoPath
InfoPath 2007 Resource Center
MSDN Virtual Lab: Building InfoPath Forms that run both as Rich Client and Browser Applications
MSDN Virtual Lab: Managed Code, Task Panes, Modifying Schemas, and Digital Signatures using InfoPath
Recommended for installation (with Visual Studio 2005) if a SharePoint Server 2007 environment is available is Visual Studio 2008. Visual Studio 2008 can be used to develop MOSS workflows (it does not include support for other types of MOSS projects). It provides a much better testing and debugging experience than 2005 when working with MOSS workflows within an actual SharePoint Server environment (i.e. MOSS is installed.).
If you don’t have a MOSS environment available for development and testing, you can download a 30 day pre-configured virtual machine here:
http://www.microsoft.com/downloads/details.aspx?familyid=67f93dcb-ada8-4db5-a47b-df17e14b2c74&displaylang=en&tm
I know I am being a bit demanding in the above title but it was an amazing set of demos and announcements. Worth watching for yourself instead of reading about it. Here is the link.
The first 30 minutes or so consists of Ray Ozzie followed by a stream of demonstrations and announcements. Here are my quick notes typing on my phone while watching the keynote in person at MIX:
Internet Explorer 8
Css compliance
Activities
Web slices
Adaptive streaming
-Integration move networks
-Windows Media streaming
-Tco improvements
Silverlight 2
Silverlight advertising template for Visual Studio
Integration with DoubleClick via DoubleClick sdk, available in q2
Expression Blend 2.5 needed for Silverlight 2
Multi language
Ironruby and ironpython
Based on Wpf UI framework
Robust network capabilities
Integrated data support
Shipping controls as source
Shipping test framework and 2000 Unit tests
Can skin controls and control templates without having to write code
Tools to stitch together photos and Silverlight control to put sea dragon on the web integrated into Silverlight 2
Features that exist in Silverlight are api compatible with wpf
Silverlight on mobile announced (Windows Mobile and non-Windows Mobile devices
Apps run on phone without having to change
JavaScript and .NET Silverlight on devices
Expression Studio 2 beta available (improvements in all tools)
Wpf improvements
More controls
Streamlined installation of .net fx
Adding shader model effects to wpf
Coming in service update in .net 3.5
I downloaded it, tried it, and then purchased a license for SpaceMonger. This tool is very simple to use but will save me time and money by helping me quickly organize the plethera of drives I have with virtual machines, video content, webcasts, etc.
SpaceMonger provides a visual representation of your hard drive based on how much stuff (in terms of size) is located in folders. Folders with a large amount of content (again in terms of Gigabytes or Megabytes), render larger in the visual representation. It allows you to delete, move, etc. right from inside the SpaceMonger UI. You can try it out free for 30 days.
Big thanks to my teammate Tito Leverette for the suggestion!
If you don't know what MIX is you are missing out:-) I'm not saying that because I am presenting:-) Mix is the premier web and user experience technologies conference for Microsoft developers. You can learn more about Mix here.
Oh, and if you are attending MIX and interested in learning more about what IIS can do for you, I am co-presenting with Tito Leverette at 4:30 in Delfino 4005 (subject to change of course:-))
The title of the session is "Bringing Hosters and Developers Together with IIS7". The title mentions hosters but much of the session will also apply to corporate internal web teams as well. Hope to see you there!
Every year at Microsoft most folks "in the field" (i.e. not in Redmond) have a few training events. For technical folks this usually includes as a minimum a week long regional team offsite where we get together with our sales and services counterparts to attend industry-focused training as well as a week long technical training session called TechReady.
I spent the first week of February at the Microsoft Communications Sector offsite in Phoenix, AZ with my teammates, which is great fun since we don't often get to hang out in person as we are scattered across the country. Interestingly it was the same hotel where the Patriots stayed for the week leading up to the Super Bowl. The hotel had Patriot logo decals all over the lobby glass doors and mirrors. We checked in Monday after the Patriots lost so most of the players had already left the hotel, no love lost for this Eagles fan:-)
The industry training at the Communications Sector offsite was great. We had industry leaders from the TM Forum present on OSS/BSS related topics and the effects that implementing and managing large numbers of services is having on the industry. the TM Forum folks hung out for our other sessions as well. We had another great session presented by Daryl McDade on Windows Live Services. The TM Forum folks did not realize just how many services Microsoft provides from Office Online to Live so it was a great exchange of ideas.
We also had industry experts from the Media and Entertainment industry covering topics from how TV shows are created and produced to how movies are developed and produced. One presenter is a lead animator from a very popular prime time animated series on Fox that includes a baby with a football head. His presentation was simply outstanding and very entertaining, which is par for the course given the success of the show:-)
Of course, we had the usual crazy "team building" exercise that the event organizers put together each year. This year it was "American idol" where we were put into random teams and had to pull together an act and sing karaoke. It was actually a lot more fun that it sounds. Here's a snap of my brother who works at Microsoft decked out as Elvis:
Last week was the second week of internal training I attended called TechReady, which is held semi-annually in Seattle, WA. Technical field employees from all over the world attend annually either in February or July. I attend in February because the July dates conflict with my daughter's birthday. It is packed with technical breakout sessions, instructor-led labs, and hands-on labs. It is held in Seattle so that product team members can come over to Seatle and share deep techinical information, product futures, etc. Steve Balmer and Bill Gates present to the entire audience as well.
The TechReady audience is probably one of the toughest if not the toughest audience to present to since we are often quite technical as well. Each session receives individual anonymous evaluations and the eval scores can be brutal for a below par presentation. Overall it is healthy self-critique that I believe leads to better sessions for public events like TechEd and PDC.
TechReady is a huge investment by Microsoft and well worth the investment by employees who make the most of it. Just to give you an idea of the number of employees, here is a phone camera snap of the main room where the executives present:
Here is a shot of Bill Gates getting ready to speak. This is one of the last times Bill will present to this large of a public audience before moving on to focus more on his foundation.
Just to give you an idea of how large the event his, here are some statistics presented by Norm Judah, the Microsoft Executive sponsor for TechReady:
- 23,530 hotel room nights
- 5,595 attendees onsite
- 6,967 total onsite
- 2,691 man hours to install the audio and visual equipment
- Over 20 miles of audio, video, and lighting cable
- 110 plasma monitors used at TechReady
- Over 200 microphones each show day
- 40,000 eggs
- 5,000 lbs of bacon and sausage
- 9,000 lbs of potatoes
- 6,000 lbs of chicken
- 2,400 lbs of asparagus
- 15,000 lbs of fruit
- 5,000 gallons of coffee
- 60,174 pastries and desserts
TechReady is definitely one of my favorite benefits of working at Microsoft and not because of the pastries and desserts:-)
Please send words of encouragement to the last Windows Server 2003 machine on ms.com here. The lone Windows Server 2003 server has a Facebook and LinkedIn page as well:-) Pretty creative way to get the message out that ms.com runs on Windows Server 2008, except for lone server of course.
As a side-note, I saw a couple of humorous comments on the page suggesting that Windows Server 2008 will suffer from the same types of complaints as Windows Vista, and Windows Server 2003 will find meaning in life again:-) Pretty funny stuff but on a more serious note the product team does not live in a vacuum and has heard the complaints. While there are some obvious differences between the client and the server operating systems in terms of enabled features, tuning, etc., I would note that Windows Server 2008 aligns with the Vista SP1 code base, not Vista RTM. What some customers have seen regarding Vista RTM simply does not apply to Windows Server 2008.
Pete Brown has a great blog post here on Silverlight 2.0 and WPF. Pete makes some great points on what Silverlight 2.0 will bring to the table as well as mentioning what is available today with WPF.
As Pete points out, writing applications in WPF does not rule out the web deployment model. While the WPF web deployment model does not allow the same level of access as say an MSI deployed application, web deployed WPF applications do have the same level of access as a pure browser-based application but with the capabilities for a much richer user interface.
The original "Smart Client" deployment model for Windows Forms introduced in .NET Framework 1.0 has been greatly improved with each release of the .NET Framework and Visual Studio. It is worth taking another look at WPF and the available deployment models for Intranet applications or Extranet applications where the client-platform is Windows.
WPF Deployment Resources:
British Library "Turning the Pages" WPF Internet Browser Application
WPF Soup to Nuts Webcast Series
Deploying a WPF Application (MSDN Docs on the subject)
XAML Browser Applications
WPF Composite Client (Announcement)
Smart Client Software Factory WPF Support
WPF Support in Smart Client Software Factory v2
As we all know, processors are adding more and more cores on a single chip. The laptop I am writing this blog post on is a dual-core x64 machine running x64 Vista. This laptop cost the same as my Toshiba 9000 from just a few years ago. As another example, I purchased a quad-core CPU that came with a "free" motherboard for around $280 in December at the local Fry's so multi-core is definitely not high-end any more.
This presents interesting challenges to developers who have not spent a lot of time writing multi-threaded programs. I spent six years as a Premier Support Developer Consultant and have witnessed and assisted customers struggling with multi-threaded development, especially with C++, which is a raw development environment to begin with when compared to a managed development environment. Even if you have written multi-threaded programs, strange behavior can occur when the multi-threaded program runs on multiple processors.
Microsoft is focused on making it easier for developers to take advantage of parallel computing. The Microsoft’s Parallel Computing Developer Center has lots of articles and links to related blogs on the topic. There is also a download available called the Microsoft Parallel Extensions to the .NET Framework 3.5 December 2007 Community Technology Preview
if you haven't forayed into parallel computing yet, or if you already have and are looking for more information or to simplify development, I recommend checking out the Parallel Computing Developer Center.
Yes, I know the new year is already a week old but I'm back this week:-)
Just a quick post on a couple of "lists" I wanted to share:
Communications Sector Recorded Webcasts - Links to recorded webcasts delivered to Communications Sector customers, which includes media & entertainment companies, telecommunication companies (wireline and wireless), and cable companies.
Windows Mobile Developer Resources - Collection of links I often send to questions like "where is the developer content for Windows Mobile".
ON a related note, I thought this list was interesting:
Top 10 Microsoft Webcasts - The list is dominated by WPF-related webcasts with a sprinkling of other technologies. Here is a link to the "Soup to Nuts" WPF-related webcasts that has a link to each episode.