Tech Friday: Notes & Visual Studio 2008


Bob and Chris MSDN Road Show

Spent yesterday, Thursday at the Bob and Chris MSDN Roadshow. They had introductions for Visual Studio 2008 and Microsoft’s suite of “Adobe Killers”…. the expression series. Imagine a day-long master class, or set of high-level lectures, (for free!) and you’ll have an idea of what these days are like. Because of the amount of time available, it is possible to talk about issues in more depth than during most of the half-day TechNet/MSDN days. Recommended. They provided pizza and soft drinks for lunch. At 4:00 we went directly into this month’s meeting for the .NET Developer’s Group, and they provided us with Visual Studio Professional 2008 installation CDs. Everyone who came close to completing an installation was included in a drawing for a Zune. The really good news is that they provided install IDs which we can use for obtaining a full copy of VS2008 professional. My rough notes follow:

08 AP/Honors Accelerated Class

Multi-Targeting: found under new project and new web site
Choose the version of the framework enable and disable features of the IDE.
WCF – for example does not appear when you choose a framework <3.0
Need to maintain two versions of the solution file if you are using 2008 and 2005.
Rick Strahl does a nice walk-through of the project and solution files.
New controls in Ajax 3.5
You may have to go to the AJAX CodePlex to get the latest controls.
Anything that is in a referenced assembly, it gives you the oportunity to add the call the “using system” call at the top
Expression Web design sufaces shared with VS2008
Ajax is native
Javascript is really well integrated
Sliverlight focused on javascript

Idea of master pages with content in particular rectangles within a page
IDE now supports the idea of “nested” master pages.

Has a “design view” which shows the image
Has a split view with code and design view like Dreamweaver.
There is a very nice GRID view which allows you to align
Turn on formatting marks (like tags and formatting, kind of like a paragraph mark within Word)
A lot easier to work with CSS in 2008. There is a CSS properties view that show the hierarchy of the CSS values.
Manage Styles View – a higher level way of managing CSS styles and there is a really neat “CSS preview” (like in Word 2007) which shows what something would look like if you apply the CSS style.
There is a kind of “refactoring” thing which will move the CSS reference from an inline to a CSS style sheet page.

Formatting and Validation – two new features (not in the Orcas betas)
You can treat validations as warnings instead of errors. (which would normally stop the app from running if they are errors). Validate html, xml, accessibility, different browsers/versions etc.

Ajax minimizes the full page refresh. Only a small part of the form updates. This is a feature of Ajax. Stock Ticker, Scoreboards, etc.

Ajax master page, Ajax web form, etc. The only difference in these project pages is that the Ajax library code is already includes the Ajax Script Manager. The S.M. control is key for Ajax.

Javascript Suport
Intellisense support for Javascript
for example, type document. and a full list of properties called up.
Drag and Drop script referencing . Just drag a snippet into the editor and the editor will create the references to the library. This is similar to C# and VB.

Javascript is loosly typed. The IDE will tell you if you change a type definition in the code. Changes are automatically detected in the IDE. So the loose typing is supported…

Debugging Javascript
You can set breakpoints.
VB uses IE script debugger. Tools| Options| Advanced — enable script debugging. so that VB can talk to IE. So when a script goes bad it pops right back into VB.


“Visualizer” allows you to see full code when expanding a tool-tip.
“Dataset visualizer” shows a grid of the current record set, for example.

Web Deployment Projects – separate download.

Windows Forms- user settings on the web
“Click Once” will now work with FireFox.

WWPF /Windows Forms InterOp
Add WPF to existing Windows Forms (“Crossbow”) allows you to WPF with WinForms and vice-versa.
There are controls for InterOp.
WPF: WindowsFormsHost
WinForms: ElementHost

Client Application Services
Share user authentication and authorization between Client and Web applications
Store user settings on the web
Handles web services communication

WCF Services
Secure, reliable, transacted and interoperable distributed applications

Tools for Office
Visual designers for Ribbon, Task and Action Pane
Workflow and SharePoint Support
Application-level add-ins for most client programs
Document level add-ins for Excel and Word 2007
Projects for OutLook Add-in, PowerPoint Addin, In OutLook, it automatically docks a form at the bottom of a particular eMail.
This is now integrated directly into 2008.

Team System
AJAX support
Easy to use wizard
Bind XML and CSV files
Deployment assistance

Load Testing – Take any non-manual test and beat on it.
Unit Testing – Available in Pro!
You can right-click on a class, and there is an option to “unit test”. Automatically creates the framework for a unit test for the class. An example of a data-driven test would be run this

Mobile Development
Smart Devices
Device Emulation

White Paper: 14 page overview (non-technical) of the feature sets


Software + Services
XBox Live – device, has a community aspect, allows for multi-user gaming, there is a web component, combination of device+data center services. The New York Times has a WPF client for reading the Times offline.

What is Software + Services
Software deployed as a hosted service accessible over the internet + a mobile device

Multi-tenant data architecture (single instance)
Similar to a conventional three-tier database client/server
Metadata Services are the unique addition…..allows: configurability, authentication, branding (logo), unique fields/reports, etc. Custom Business Rules

Centralized: ASP.NET membership, profile storage, groups of users with roles and authorization.
Decentralized: Federated approach/allow the customer to manage their own authentication via the customer’s Active Directory

Separate Databases

Shared Database /Separate Schemas (each tenant has their own tables within a single database)
Restoring a single tenant is a problem. – additional maintenance costs

Shared Database/ Shared Schemas
Tenant ID/UserID/RoleID

Regularity Issues: SOX requirements

Implmenting the Configurabilty
Extension Table
Fixed Columns
XML Columns

Extension Table
Example: Employee table offered with base set of fields. Extra fields are added by the customer.
Create a View for Each Tenant . Table Employee, Table Employee_Extension.

White Papers
Published on the road show
All code is available LitWare HR CodePlex

Multi-Headed Client:
Offline with Synchronization


Silverlight 2.0
Scott Gutherie’s blog

Takes a subset of Windows Presentation Foundation
Vector Graphics, Animation, Streaming Video, Vector fonts

Silverlight is cross platform

Version 2.0 will include a subset of the .NET framework

Tools for developing in Silverlight include Expression Blend, and VS.

SkyDrive = 500 megs of storage in the cloud. Currently In beta available for those with an Windows Live ID. Try this out!

Chris Bowen

Allow data expressions and SQL queries within VB and C#… LinQ is an evolution of ADO
How have the languages been enhanced to incorporate this stuff

Type inferencing
Compiler infers the correct type from variables which are initialized in-line.
Only works for local variables, not parameters or return variables

Class and Collection Initializers
Shorter Form of Object Creation Syntax
Anonymous Types
You can create an object which is not typed. Compiler creates the type anonymous
Frequently used by Linq
Extension Methods
Extend existing type without having to subclass it
Add Methods without Derivation
Accesses Public Members of Extended Types
Must be:
public and status
housed within a static class
Use this keyword before parameter of extended type
Lambda Expressions
Inject code into something else. Formerly delegates, or C# anonymous methods
Reduces code needed to write
Based on anonymous methods
Might be used to translate syntax.
Predicate “(p) => p.Gender == “F”
“All persons p, such that person’s Gender is F”
Query Expressions
Embedded SQL within native VB and C# syntax.

Question LK — What is Reflection, or reflector?

5 types of LinQ

LINQ to Objects (in memory)
LINQ to DataSets, SQL, or Entities. (Julie is one of the experts on Entites).

Deferred query evaluation, – means that the query is really executed during foreach

Deferred Query Execution – is huge…because the query itself isn’t actually run until the foreach

SEveral extension methods are really helpful working with data including:
in A but not in B
Except B

100 useful examples in LINQ

ORM Designer
Maps Relational Structures to Classes

Listview is a new control in 3.5

Use the ENTITY FRAMEWORK as a way to create an abstract mapping between the relational data and object-based applications. This is better than LinktoSQL because it will allow you to mess with the back-end database .

Scott Guthrie’s Blog

Microsoft Expression Studio
New product line from Microsoft
Set of tools used primarily by web designers
Import and Export capabilities for Adobe products
The goal is to help the designer be a first-class citizen with Microsoft development prodcuts.
5 products
Media, Encoder, Web, Design, Blend

Manage all graphic assets
How does this integrate with source-code control?
Searching for metadata
Makes a lot of sense when you have a lot of assets
Creates a metadata dictionary with pointers to the actual data
Create web galleries, slide shows, videos, etc.
Looks a lot like Outlook…allows the classification of objects. Allows you to give the items ratings. You can add custom people to a file or custom fields
Includes a thumbnail viewer (videos play as well)
“Light table”
You can share the catalogs with Mac users (how? requires a download for the Mac)

Encode Video for use with Silverlight
VC1 codec
Sony Vegas Pro or Finalcut for editing although you can
Add a leader, add a trailer
Scrub the beginning or end.
Import .AVI, QuickTime, MPEG, WMV
Will encode in real-time for streaming for live video broadcast
HiDef 720p
You can do an AB compare = see the original video and compare it with the compressed version
There is a batch mode, or batch job definition. encode a bunch of things in a folder.

Markers can be set within a video. Example: Guy riding around London, markers trigger a javascript call to virtual earth to show the guy’s position on a map. They can also generate thumbnails to go to the beginning of each stream.

You can generate a WMV file, or to full Silvelight application with templates. classic, glassy, expression,

Follow on to FrontPage? Yuck
Fully integrated with ASP.NET
Same/similar Visual Studio IDE
For the person who wants to spin up an html site without a lot of work… there are templates included.
Master Pages – parts that are editable and parts that are not.
Understands data bindinding and ASP.NET controls

LK Question: what is a div?

Good for creating style sheets
Targeted at the designer/end-user

= Ilustrator ?
Can it do color separations?

Blend (December CTP)
= Flash? no actually, that is Silverlight.

When should I use WPF instead of WinForms – when you need to differentiate your user interface, think about using WPF, or when you are using Windows Media or Documents.
Training for self-paced training
also training for expression defalt.apsx
Wintelect or Pluralsite

VS 2008
Silverlight Tools for VS2008
Blend CTP (December)

======== end of notes =========
Swag was available too….pens, squishy balls, tee-shirts, and a Silverlight book. They came in with two giant screens and put up four-player versions of Halo-3 for the breaks. They also provided sandwiches while we did our installations of VS2008. If you are able to get to one of the cities they are visiting, be sure to check out the Roadshow.

1 thought on “Tech Friday: Notes & Visual Studio 2008

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s