Monday, May 18, 2009

Earthquake?

Hey Steve, how was the earthquake?

Some journey home antidotes

On my drive from my friend’s house in Carlsbad to LAX, I had to take this toll road expressway through Irvine, CA.  By the time that I got to the toll road, the fog was the thickest that I had ever seen.  I had to slow down to 10 MPH to be able to see the toll plaza in time.  Part of the issue was the low traffic volume that time of the day (about 8 AM).

Of course landing in PHL is always a challenge.  My flight would be no exception.  We made about two laps around the airport and were about to land, and got about 50 ft above the strip when the … pilot pulled up!  He later said something like the tower waived him off because of traffic on the runway!  I was afraid it was something like he didn’t have his gear all the way down or something!

Friday, May 15, 2009

Takeaways from the Conference – 2009 / 2010 Direction



Clay, Steve and I are putting this summary together.


Key Takeaways:



  • We believe that we are heading in the right direction with the Silverlight application and the way that we are doing it.

  • Other than a service pack that must be loaded, there are no major changes the SQL Server that we would need to worry about.

  • Microsoft is Pushing Windows 7 , Windows Server 2008 R2 and IE 8. We can add response headers to our servers to force IE 8 to render in the IE 7 compatibility mode.

  • We should push out IE 7 ASAP

  • Microsoft is really pushing System Center

  • Future enhancements planned for Visual Studio 2010 will enable easier deployment of web applications and synchronization of servers in your farm

  • We need to spend more time with expression blend, which is the designer part of Silverlight.

2009 / 2010 Toolset


We don’t find any compelling changes on the horizon for our development practices or tools for 2009 and 2010.



  • SQL Server 2008

  • Visual Studio 2008 SP 1

  • Silverlight 3.0

  • Infragistics Silverlight Line of Business Controls

  • Infragistics ASP .Net 8.X or 9.X

  • SharePoint 2007 SDK with Visual Studio 2008

  • Continue to use AJAX

2011 and Beyond



  • ASP .Net 4.0

  • Visual Studio 2010

  • Windows 7, Windows Server 2008 R2, IIS 7 – Provided that Joe’s group has that in their plan

In conclusion, we believe that we already have the majority of our toolset implemented for 2009 and 2010. Our technical standards document is a little behind, but we do plan to document this tool set ASAP.

WUX205 – Designing and Prototyping in WCF and Silverlight – A Case Study – Billy Hollis

See Online Demo on .Net ROCKS. Nice menu structure. Sliding of user controls off the page, etc. Neat feature with note capturing. Look like Post-It notes.

Highly Intuitive UI. Had he started the app now, he would have done it in SL3 instead of WPF. He said that you could do the same app in SL3, but it “takes more work”.

First Step: Is advanced UI work it?

  • Data Templates are powerful
  • Try to be “non-linear”
  • “Don’t think of the screen as a set of rectangular areas to pour things into”

MSC UI Demonstrator

Traditional navigation not good enough. Gradient color is effective. Translucency preserves mental context. In-place editing has usability obstacles (use child screen with hover for edit).

Next Phase: Multiple Prototypes

Home screen resonates with users

Semi-modal child screens essential

Visual “dirty record” signal essential

Animation essential to natural feel

Don’t try to cram too much animation in

Use both sides of your own brain

WUX317 – Easing ASP .NET Web Deployment with Microsoft Visual Studio 2010 and MSDeploy – Vishal R Joshi

Make your Web Deployment Way More Easier

XML Transformation Engine

Web.config

  • Web.Debug.Config
  • Web.Testing.Config
  • Web.Release.Config
  • <appSettings xdt:Transform=”Replace”>  transform with code snippets to be able to have your web.config be transformed with your build. 

MS Deploy Web Packag – makes a zip package of your app

Package / Publish tab added to project file.  In IIS 7 it has an option of importing an application from a zip file package as prepared from VS 2010.  You don’t have to make a zip file, you can just move the content.  A command script is also generated for the option of running the installation from the command line. 

Sharing Code between .Net and SilverLight

Don’t Write code 2x, once in silver light once in .Net. Share code between the two platforms. Silverlight is looks lie .net but isn’t .net. We want to write code 1x and be used on client and server. Choices are: duplicated files, linked files, Project file management(dual project files). He recommends linked files. When adding a server class to client, don’t click add to project, use dropdown and select add as link. It will build class 2x once on client and on server. Tho not all code can be shared. Code written carefully should be able to be used on both. Techniques for non-shared, Partial classes, compiler directives (# if SILVERLIGHT), inheritance ( tho not recommended). Shifting some code from service to partial class. You will most likely need to do both partial class and SILVERLIGHT directive. Look for Project Linker on Microsoft.com (feb 2009). Make sure all instances of VS are closed when installing. This will enable linking easier.(will add menu item to right click). Also will add edit links to project menu so you can remove.

Building Modular applications in Silverlight and WPF

Prism is product to help WPF and WCF talk. Unfortunately he really rushed through his demo, and was tough to follow and take notes. I have include some of the thing s I was able to catch, but we might want to look at this a bit more to see if it is something we are interested in. .It is guide and code from patterns and practices. I has patterns, Conventions, and examples. Model-view-model view is basically 3 tier approach to WPF/SL. View is presentation layer, Model is data layer, and Modelview is layer between them. Viewmodel is easier to reuse if it doesn’t know what view is that is calling it. In PRISM there is shell it is started at application, it host no smarts. Next component bootstrapper, creates shell, create view/view model, and two others. Bootstrap inherits from UnityBootstrapper. Dependacy injectors deliver information, to objects that asks. Has RegionManager, carves up page in to regions, so code knows where to display stuff on the page. Can in 1 statement create region an place code in it. Can break up huor modules into different xap files, so you can download pieces when the user needs it. Use of Icommand in View to collect events that are in the view model. .