This is a follow-on webcast to part one that covered Visual C++ 2008 located here. In this webcast recorded June 20th, I hosted Bill Dunlap who is a Principal Program Manager for Visual C++. Bill speaks candidly on what's in store for the native C++ developer in the next version of Visual Studio. Here is the abstract:
Visual C++ provides a powerful and flexible development environment for creating Microsoft Windows-based and Microsoft .NET-based applications. In this session, Bill Dunlap (Principal Program Manager for VS native development) will cover Microsoft's commitments to C++, standards support, as well as provide a glimpse of the future of C++ development on the Microsoft platform.
if you have any interest in C++ at all, you will want to check out this recording.
With all of the emphasize on .NET, a C++ developer might not be feeling the love. C++ is still a first class language in Visual Studio 2008. Microsoft is making big investments in C++ starting with the Visual C++ Feature Pack.
On June 13th, I hosted a webcast with Ayman Shoukry, a Lead Program Manager for C++. Here is the abstract:
Visual C++ provides a powerful and flexible development environment for creating Microsoft Windows-based and Microsoft .NET-based applications. In this session, Ale Contenti (Senior Development Lead for VS native development) will cover what's new for C++ native developers in Visual Studio 2008. as well as cover the Visual C++ 2008 Feature Pack.
Link to the webcast is here on my Windows Live Skydrive. Unzip and open default.html to view the recording. (For a look at the future of C++ in Visual Studio, check out part 2.)
Please note that this webcast is not about managed C++. It is focused on the native C++ developer.
I recorded a webcast a while back on what's new in Visual Studio for mobile development. Here's an abstract for the webcast:
Learn how the Windows Mobile developer platform and tools help developers build innovative and secure applications and solutions for Windows Mobile powered devices. This session will provide an overview of Windows Mobile development, highlighting the numerous improvements for the mobile developer experience in Visual Studio 2008 as well as cover new features in the .NET Framework 3.5 including WCF and LINQ.
The recording for the webcast is available here.
Just a quick post before going on vacation... The DevXTra Editor's Blog has an interesting article with the title "Tech Ed 2008---Unifying Everything". First, the article provides a very good and simple explanation on what Tech Ed has for developers versus the PDC that I'll expand on here:
Tech Ed covers technology that is available to developers now, allowing them to brush up on new technologies as well as deepen knowledge on technologies.
The PDC covers technology that is coming down the road. Developers and Architects attend the PDC to understand the future of the Microsoft platform. In past years, the PDC has unveiled Microsoft .NET, Windows® XP, Windows Vista®, and other significant milestones in the evolution of the Microsoft platform.
The DevXTra's blog post has a nice high-level discussion (i.e something you can share with a non-technical manager) on why .NET? or what is the value in the .NET platform? I'm not going to be redundant by paraphrasing the blog post but here is a teaser:
"...all without having to learn a completely new environment or language." :-)
I have spent a lot of time onsite in the trenches with customers who have both the .NET Platform and the Java/Unix platform. Many of these customers are in the telecommunications industry with a heavy focus on Java/Unix.
Given that Unix was born at Ma Bell, I can understand the love but sometimes what I hear folks partial to Java/Unix say about Microsoft and .NET just doesn't make sense. Some folks forget that Microsoft is a business---we are not secretly running all of our servers and front-end applications on Unix and Java while selling Windows and .NET.
We use what we sell. Not only that, we use what we sell when it is in Alpha and Beta before it gets to customers. Does this mean our products are bug free and perfect? Of course not. I worked for six years in Premier Support at Microsoft---I understand where the issues exist and how they can affect customers. (I also know from being onsite with customers that it isn't exactly cheap and easy in terms of services and support to implement mission critical applications on the alternative platform, but I digress...)
Virtualization is a key technology now and in the future for our customers, as well as for Microsoft as a business, to reduce hardware and management overhead while maintaining reliability. In the spirit of living with our products first, it is pretty cool to note that both MSDN and TechNet are COMPLETELY VIRTUALIZED WITH HYPER-V. This has been the case for weeks now, without issue. To put this in perspective...
TECHNET receives about 1 MILLION HITS A DAY and MSDN receives about 3 MILLION HITS A DAY
So to the guy at a large telecommunications company who told me a while back that "no one will ever trust Microsoft to write a hypervisor," I hope that this little effort by Microsoft "eating its own dog food" moves the trust needle a little bit further to the right.
For more information on the implementation, check out this post for more details.
Check out how DiscountASP extended the IIS 7 management console to allow remote administration of customer sites via the IIS 7 Management Console. In addition to enabling remote administration, DiscountASP also extended the IIS 7 manager by adding functionality specific to their web hosting environment for a fully customized experience. Before I describe my experience with their extension below, here is a little background....
Remote Admin and Feature Delegation
This link covers how to configure remote administration and feature delegation in IIS 7:
Configuring Remote Administration and Feature Delegation in IIS 7.0
The steps at the above link are for the web hoster or web farm manager in the corporate environment.
Configuring the Client machine
To be able to manage IIS 7 remotely, you have to download the new remote administration tool for IIS 7.0 that provides end users and administrators with a way to remotely manage IIS 7.0 servers from Windows Vista, Windows XP and Windows Server 2003. Here are links to the x86 and x64 versions available on IIS.net.
After installing the remote administration tool, the IIS 7 manager now looks like the version that ships with Windows Server 2008:
Click "Connect to a site..." in the Connection Tasks section of the Start Page to connect to a remote server. When the Connect to a site wizard appears, enter the server and site name such as www.contoso.com. Click Next and then enter the user name and password provided to you by the web hoster or your web farm administrator. For the corporate environment, this would most likely be your domain user name and password.
Note: Don't click "Connect to a server" because this action requests permissions at the server level and it is unlikely that your web hoster will permit server level access.
Once connected to the site, you have access to settings available to you via feature delegation in IIS 7. For more information, check out the Mix 08 session on IIS 7 that I delivered with Tito Leverette.
Extending IIS 7
With the integrated pipeline, ASP.NET is a first class citizen in IIS allowing extension and customization of IIS to the same degree as what was available in IIS 6 or earlier but required deep C++ knowledge. This link describes the extensibility in IIS 7 with a step-by-step tutorial on how to add image copyright watermarking on all images in virtual directories where the extension is enabled:
An End-to-End Extensibility Example for IIS 7.0 Developers
With the background out of the way, let's check out what DiscountASP has made available to their customers.
DiscountASP IIS 7 Extensions
DiscountASP launched two extensions, currently in beta:
- Web.config backup/restore module - This module will backup your web.config file and restore it
- Feedback module - This module allows their customers to provide them with feedback and suggestions on the IIS Manager.
When you first connect to a web site hosted by DiscountASP, the IIS 7 remote console prompts with this dialog listing the two available extensions:
Checking the checkbox for both extensions and then clicking OK loads IIS 7 Manager with a new area titled "DiscountASP.NET Tools":
I tried out both extensions and they worked well. What's great is that all of the existing IIS 7 delegated features shown in the screen shot above are configurable for the site, with the modified setting values stored locally in the web.config file. This means that DiscountASP would not need to write tools to say modify the Default Document setting.
A big "Well Done!" to the folks over at DiscountASP!
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 at NAB was 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
After a long arduous journey, the update to "Building ASP.NET Server Controls" co-authored by myself and Dale Michalk is published. I mostly wrote the updated version this time around by myself, which made this a much longer and more arduous journey. Thankfully Dale jumped in and helped with a chapter when I was especially crunched for time.
In addition to assisting with a chapter, Dale certainly still shares credit for this version since some of the samples and chapter sections are based on the first book because the architecture or underlying technical implementation didn't change.
I'd like to thank Dale for inviting me to join him in co-authoring "Building ASP.NET Server Controls" as well as thank him for his assistance and encouragement when writing the recently released update titled "Pro ASP.NET 3.5 Server Controls and AJAX Components." I'd also like to thank the great folks at Apress for their patience and encouragement throughout this process.
If you happened to pick up this book and have any questions (or find an error) please let me know and I would be glad to help.
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