Monday, May 2, 2022

Build 2022 announced

Build 2022 will be held May 24th to the 26th. Once again it will be a virtual event. I like the virtual format and it seems that each iteration is getting better. If you're interested in registering check it out here. Build 2022

Wednesday, April 12, 2017

Switching Back to Windows

About a year and a half ago I bought into the whole Mac ecosystem. It started when I needed to replace my Windows Phone and my carrier no longer had any Windows devices. I was impressed my the number of apps that were available, especially apps for my financial institutions and insurance company and number of utility company apps that made life a bit nicer. These apps did not exist on the Windows Phone and for obvious reasons they still don't.

I decided to take the plunge and purchase a MacBook Pro. The first thing that I noticed was that the hardware was very nice and it operated well. I then noticed that there were way fewer apps for the Mac as compared to iOS, but Office was available and this made it semi productive as the Apple apps that come installed are horrible compared to office.

I purchased a copy of parallels and installed Windows 10 and my development tools so that I could work in both worlds. I dabbled in Objective C and Swift as well as learned Xcode. I was not impressed at all with developer experience in Xcode. It feels to me like a late 90's experience where we would sprinkle message boxes around an app to improve the debugging experience and while Swift was modern hip language it still carries a lot of Objective C baggage due to it's apple heritage.

Slowly over time my interest in Mac and iOS development waned and I found myself in the Windows VM more that the Mac. At this point I realized that I am a PC and not a Mac and never will be. I began my search for a replacement looking at all the usual suspects, HP, Dell etc. I also looked at the Surface and Surface Book. I had previously used The Surface and I just didn't like the keyboards, to me it felt like typing on a cardboard box top. I eventually decided on the Surface Book. While it is certainly more expensive, I ended up with the 16GB 512SSD I7, it is absolutely leaps and bound ahead of the MacBook Pro in versatility and performance.

I have happily settled back in with my new Widows device and the best development tools hands down and enjoying very much. Off to sell a MacBook Pro...

Sunday, February 28, 2016

Nuget - the new dll hell

Back in the early 2000's, when I first started programming on the Microsoft stack, COM objects were all the rage. This of course had a side effect of something known as dll hell, where an application could change a version of a dll your application depended on, thus breaking your application in the process or causing subtle bugs that where hard to debug. .Net was supposed to change all of that with side-by- assemblies and versioning and for the most part that has worked well. Enter Nuget, nuget was intended to centralize project dependencies and libraries. So for example if you needed to parse JSON files in your application, you could locate a package that contained a JSON parsing library and add it. The reference to the nuget package could be easily shared across teams and build systems. The problem is that many of these libraries come with a proliferation of their own dependencies and in some cases those dependencies are older versions. A case in point, on a an application that I'm currently working on, I have a dependency on JSON.Net, I upgraded to the latest version 8.0.2 only to find out that another package that was referenced had a dependency on 6.0.0 so upgrading broke functionality in the other library (the other library BTW is a Microsoft Library). The eventual work around was a binding redirect in the app config. But this still points to a bigger problem that of library maintenance and vetting libraries that are available on nuget. No one to my knowledge vets these packages and updating certainly isn't enforced. So now we have come full circle in the dll hell story, we are essentially right back were we started in the COM days.

Saturday, January 19, 2013

Restore missing Item templates in Visual Studio 2012

I’m working on a large Silverlight to WPF project migration and came across a issue where item templates where not being displayed from the Add new Items dialog. After a bit of searching it became apparent that this was a fairly common problem and there are a number of ways to fix the issue. Of the the various suggestions I found one seemed to work the best, although it was originally for Visual Studio 2010. So here is how you can get those missing templates back.

  • Navigate to C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE
  • Delete the ItemTemplatesCache folder
  • In the ItemsTemplate folder navigate to the templates you want to display and for each template open the vstemplate file in a text editor and set ShowByDefault from false to true
  • run devenv /installvstemplates

You may need to run this as an administrator. Once this is done open your project in Visual Studio and right click “Add New Item” your templates should now appear.

Monday, January 14, 2013

The Problem with Windows 8 Apps

I have to admit I was skeptical of Windows 8 when it was announced. Since it was released I’ve migrated my laptop and desktop as well as purchasing a Surface and HTC 8X windows phone. While I’ve been happy with the phone apps I’ve downloaded from the store, the Windows 8 apps are another story.

First let me set the bar, I look for apps where the developer took some time to develop an icon. If I see an app in the store with the default Visual Studio App Store app template you’ve lost me. Even if it is the greatest app since the internet the fact that you could not take a few moments to build even a basic icon tells me you really don’t care about your work. There are literally dozens of these app icons in the store.

I expect the app to be responsive. If the data is stale or not updated or the app just plain says it updated and I can go somewhere and see this in not the case you’ve lost me. A case in point are twitter apps, I can look at twitter on the web and compare what is displayed in the app and I can tell you’ve lied. Both Rowi and Metro Twit done this. Facebook apps have similar issues. If you have an app in the store that uses social networking it better update consistently.

I expect apps to provide the advertised functionality, if your app won’t even provide the advertised functionality you’ve lost me.

I have taken the stand of not paying for a single app until I can be reasonably sure that what I pay for will work. The biggest hurdle that Microsoft needs to overcome is not the number of apps in the store, but the quality. you can have a million garbage apps (ask google) but when you have quality apps that work as advertised and provide value then you only need a few to be profitable and build user loyalty.

Maybe the message to developers should change from “Build apps for the store quick and easy” to “Make quality apps and create revenue”. I’m still skeptical about the future but all it will take is quality in the store.

Monday, July 23, 2012

Some thoughts on the Metro UI in Visual Studio 2012

The Metro UI in the Visual Studio 2012 is horrible  The icons and graphics make navigating a solution nearly impossible. The Light Theme and Dark Theme are equally unreadable. The geniuses that came up with this UI concept should be tarred and feathered. Even with the improvements in search and the solution explorer I still find myself being less productive because I have to study each file to make sure that’s what I want to work with. Lets not even start on the ALL CAPS MENU, really?

I appreciate the IDE improvements but how about a choice? Dear Microsoft, Metro doesn’t work for everything. 

Monday, December 13, 2010

What a difference a release makes

It's been pretty hectic the last couple of months for me. I'm now involved in a one man enterprise project (yes they exist) and between vetting requirements, architecting and coding there really hasn't been a lot of writing time.

One of the things that is at the top my priority list for this project is to provide a high quality and consistent user experience. To that end I had planned to use the DevExpress Silverlight toolset. This looked like a good choice as they're support had been good and the control set looked to be expanding in areas that I would certainly need, such as Charting. But the DevExpress 10.2 release fell flat for me in more areas than it should of. From lack of documentation for new controls (in mean no documentation) to bugs that had not existed in DevExpress 10.1 and where now closed as "Microsoft's problem" (really it worked fine in the last release) to Themes not working with prisim modules, I decided I needed to rethink my choice.

I decided to take another look at Telerik. To be honest, I really didn't want to change, as it's always hard to say "hey maybe I was wrong", but sometimes you just have to rethink your approach. I was pleasantly surprised by the depth of the documentation and ease of use of the toolset. The Telerik controls provided a consistent data binding experience, so no longer did I have to ask "ItemsSource or DataSource or is it something more obscure?" or dig through reams of docs to find examples, it worked flawlessly with prisim and provides great support for commanding. The GridView also supports Hierarchical data, which is something that I will need. Overall I've been very impressed with the toolset and in the future will also make use of the MVC extensions as well.


 

Thursday, October 7, 2010

Silverlight and MVVM

I've been very heads down lately on a very large .Net project. The project team should be 5 or larger given the scope, but in the spirit of "do more with less", it's just me. Part of the application contains an internal facing UI, which is being done in Silverlight. In an effort to streamline the work I decided to go with the MVVM approach. While MVVM is the "end all be all" rage these days I am encountering a number of problems. First is in the application flow. I am working from screen designs rendered in photo shop by an offsite designer (he's not interested in xaml or learning). These screens tend to be busy and in my opinion very ADD. This makes it extremely difficult to isolate a clean View Model. What I've discovered is that a number of views may need to access the same data so you end up creating a Master View to coordinate the children. Also the no code model in the views is very difficult to achieve when complex interactions are required. I know that I can use Unity or any number of other MVVM frameworks to alleviate some of the issues, but add to the download overhead, which because of the inclusion of third party components is already larger than it need to be.

So while MVVM may be a panacea to some, I see a number of issues with the approach and until the model is built into the framework core it will continue to be a problem.

 

Tuesday, July 13, 2010

DXWindow and DXDialog as Silverlight a UserControl

Here is a quick example of making a DXDialog or DXWindow a user control in your Silverlight applications.

Add a reference to DevExpress.xpf.Core to you Silverlight application.

Modify the xaml so that it is a DXWindow (or DXDialog).

<dec:DXDialog x:Class="DevExpressWindow.Dialog"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:dec="clr-namespace:DevExpress.Xpf.Core;assembly=DevExpress.Xpf.Core.v10.1"
    mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400">    
    <Grid x:Name="LayoutRoot" Background="White">
        <TextBlock Text="Your UI here." HorizontalAlignment="Center" VerticalAlignment="Center"/>

    </Grid>
</dec:DXDialog>


 


 

And modify the code behind so that instead of deriving from UserControl, derive from DXwindow (or DXDialog) like so.

using System;
using DevExpress.Xpf.Core;


namespace DevExpressWindow
{
    public partial class Dialog : DXDialog
    {
        public Dialog()
        {
            InitializeComponent();
        }
    }
}


 

And to use it from within the application

  private void btnNewDialog_Click(object sender, RoutedEventArgs e)
  {
            Dialog dlg = new Dialog { Title = "My Dialog",Height=200 };
            dlg.ShowDialog();
  }


 

The result is a reusable dialog or window.


 


 


Wednesday, June 9, 2010

Controls follow up

I've had a chance now to use the DevExpress and Telerik control suites. Here are some observations which may be helpful to those of you in the market for controls.

Installers

DevExpress wins this hands down. They have a single installer for all products. You can select only the components your licensed for or trial those you don't own. The installer also updates existing products, so no uninstall reinstall dance.

Coding Tools

Code Rush beats Telerik Just Code. There is simply no comparison in the functionality between the two products. It's like comparing an Erector set to Lincoln logs (I may have dated myself).

Updates

Telerik seems to update like a person with ADHD. Every product has an update at a different time. This is a pain in the backside. Additionally, the highly touted visual studio extensions require you to run Visual Studio 2010 as an Admin to update, and then they fail with a "Program must be removed from Add/Remove Programs", major fail Telerik. DevExpress as mentioned earlier provides a unified update process which is easier to manage.

Controls

In this area both vendors are pretty evenly matched in functionality. I've found the DevExpress components to be more "Developer Friendly" in that they work as advertised and don't require any fiddling to get the components to work. As an example I created web applications with grids that rendered a set of image records that were retrieved as binary images from a simple database. The DevExpress Binary Image Column rendered right out of the box, I could never get the Telerik Binary Image column to display anything other than an "X". If it's documented somewhere I sure wasn't able to find it.

Support

I have had to use the DevExpress support and they are an outstanding group who addressed my issue in a timely and efficient manner. I cannot comment on the Telerik support as I haven't opened any issues with them at this time. The DevExpress issue was a help installation issue on Windows 2008, which was addressed and resolved in less than 48 hours. Pretty impressive in my opinion.

Monday, May 10, 2010

Component Switching Follow up

As I noted in my last post, I had switched component vendors. So far I'm quite happy with DevExpress and the tools I purchased. But I would be remiss if I didn't mention the follow up from Telerik. As I mentioned in my earlier post, the sales rep from Telerik wanted what amounted to a 2500 word essay. I was contacted by Brandon Strange the Customer Advocate Manager for Telerik. He stated that the original requirement was for 200 to 300 words total and that the sales rep had misstated the requirements. In addition he said they would evaluate this requirement in the future on a case by case basis. I think it was great that they should reach out like this to potential customers. Telerik is big enough that they could have blown my comments of and that would have been the end of the story. They didn't and that is very important. Also to make up for lost business, Telerik provide me with a complimentary license, now I have two great sets of components.

The flip side of course is the vendor I left after nearly 9 years of business. I know based on the traffic reports for this blog that Infragistics has in fact visited over a dozen times since my post. Yet they have not made any attempt to contact me and attempt to win my business back or even find out why I chose another vendor. That is poor customer relations in its most simple form. If you don't value you customers enough to engage with them, you should close your doors and sell of your assets. I for one will never recommend them, where in the past I would have. Instead I'd recommend DevExpress and Telerik because they take the time to listen and engage and provide quality tools.

Thursday, April 29, 2010

Switching from Infragistics to DevExpress

I have been an Infragistics customer for a number of years; as a matter of fact it's been over 9 years since I purchased my first controls from them. Recently though I've become quite unhappy with my experience with their products. Over the years they went from having a great set of UI tools to having one of the most complicated and useless sets of tools. Let me elaborate on what I mean; let's take the ASP.NET components for example. These components come in two flavors, 3.5 and 2.0; a lot of the functionality is similar if not the same. Yet they are not interchangeable. If you add a 3.5 component and then choose to add a 2.0 component your application will break in new and unusual ways. To fix this takes some time and manual intervention on the developer's part. I also have an issue with their increasing use of the nickel and dime sales approach. When the introduce a new product line , Data Visualization for example you'll get the first barely functional release for free, but then to maintain and get updates, you'll be forced to pay for version 2. At the end of the day, this just causes frustration and headache and unnecessary expense.

Since this is an out of pocket expense, I started with some simple criteria that I used to evaluate the competition.

  1. What does the toolset contain and the core quality and functionality of the tools?
  2. How responsive is support to inquiries and requests?
  3. How often is the product updated and new functionality added and does it cost extra?
  4. How responsive is sales to inquires?
  5. Do they offer upgrade pricing?
  6. Do they offer flexible Product Licensing?

Armed with this criteria is set out to evaluate the competition. I looked at a fair number of tool sets but, many of them didn't meet the first criteria, so that left me with two, Telerik and DevExpress.

Telerik has a decent suite of tools which I had used in the past and they meet all of the criteria except for the upgrade pricing. They wanted an essay 300 – 500 words for 7 questions, a minimum of 2100 words, about why you're leaving the other vendor in order to qualify for a competitive upgrade. This in my opinion is completely absurd. First since this was a personal purchase, I shouldn't also have to elaborate on why, if they don't want new customers then don't advertise upgrades. Secondly my time is valuable; I shouldn't have to justify my decision in writing.

So that left DevExpress. To be honest, I have used Code Rush and Refactor Pro for almost two years and have been completely satisfied with the sales and support from DevExpress. The tool set is fantastic so far, a really positive change from the hassles I encountered with Infragisitics. They have a complete set of ASP.NET (a single set) WPF, Silverlight, Windows Forms and Reporting. All of the products are easy to use and look great. The only real issue is documentation, which they have indicated is being updated, but asking a question in the forum yielded an almost instant, accurate, response. So I'm now using DevExpress going forward and I have some really exciting UI ideas to try out.

Monday, April 12, 2010

Microsoft burps another launch

VS2010 and SQL Server 2008 R2 are available to MSDN subscribers. But you'll be better off to wait. Apparently they once again failed to estimate the bandwidth requirements. Attempting to download will just lead to frustration as the transfer client continually tries to connect, then pops some obscure missing info message. Even after taking MSDN downloads over the weekend to "do maintenance".

Follow up 12:05 PM MST, it looks like they have the Akami download manager up and working. So downloads should be smoother

Thursday, March 25, 2010

Top 10 reasons to migrate to Visual Studio 2010

The release of Visual Studio 2010 is just weeks away and if your organization is typical, they will take a wait and see upgrade approach. Visual Studio 2010 has so many great productivity enhancements that it makes no sense to wait. The problem is most of the decision makers will not have had much exposure to make an informed decision so here are 10 reasons why you should upgrade immediately.

  1. Multi-Targeting support. Many of us have code in multiple .Net versions and many of spend time switching between Visual studio versions. Visual Studio 2010 greatly enhances multi – targeting between 2.0, 3.0, 3.5 and 4.0. In addition VS2010 can be installed side by side with Visual Studio 2003.
  2. Call Hierarchy. If you've ever spent hours staring at a complex piece of legacy code trying determining calls made from it of finding callers to it the Call Hierarchy tool will solve your problems. Select the method in question and it will map all the calls from and to the method.
  3. Zoom. What else can I say zooming in the editor is a great feature for working with just a single block of code or if you have old tired eyes.
  4. Navigate To. Rather than using Find All Navigate to allows you to search on types and filters the list while you type you can then jump directly to the code you're looking for.
  5. Highlight References. Selecting a reference highlight all instances in the method or class allowing you to quickly navigate between them.
  6. Improved Intellisense. Intellisense now has partial string matching as well as consume first mode.
  7. Add Reference Improvements. Anyone whose added references in earlier versions know how painfully slow it was to load. Now it loads asynchronously and starts at the "Projects" tab.
  8. Break point improvements. Break points can now be labeled, imported and exported allowing you to save break point setups and even share them with team members.
  9. Expanded Code Generation. Visual Studio 2010 expands the create method stub functionality allowing you to create classes, enums, structs and interfaces.
  10. WPF Editor. What else can you say? WPF comes of age in Visual Studio 2010, the font clarity and responsiveness of the editor will make you drool.

These 10 items are the tip of the iceberg when it comes to Visual Studio, there is some much more that greatly enhances developer productivity. Waiting to migrate to Visual Studio 2010 is like waiting until the 4th of July to open last year's Christmas presents, there is no reason to wait.

 

Monday, February 8, 2010

Visual Studio 2010 RC

Visual Studio 2010 RC is available to MSDN subscribers here. General availability is set for the 10th of February. The RC includes a "Go Live License" and upgrade from RC to RTM.

Saturday, February 6, 2010

Things keep changing

It's obviously been a while since the last post. In that time I've changed jobs, not by choice, but definitely for the better. My previous employer had an issue managing cash flow and like many other companies, cried recession and let go some of the best talent in the organization. Interestingly enough it appears that all of the development staff including myself found employment within just a few days.

So the past couple of months have been about integrating into a new organization and attempting to become a contributor as quickly as possible. One of the things that irritate me when changing jobs is that you have to completely reestablish yourself. This is an issue that I never dealt with in my military career.

I'll be continuing the workflow series shortly, as Microsoft is set to release VS2010 RC, so I'll pick up with that release so stay tuned.

Monday, November 2, 2009

Workflow foundation 4.0 part 4

It’s taken a while to get to this point but based on the changes in beta 2 of Visual Studio 2010 and the .Net Framework 4.0 it was probably prudent to wait.

There are a number of changes in beta 2, for one the designer has been revised again. Also there is only a single workflow. To create the the different workflows, sequence or flow chart, you start by dragging the appropriate activity container onto the design surface. The tool box has also been reorganized. The different components are organized by functionality.

In this post, I’m going to build a simple console workflow to read RSS feeds, in future posts I’ll enable WCF communications and workflow persistence. This workflow will read any number of feeds passed in as a workflow argument and returns the results from the workflow instance to the console.

To get started, open Visual Studio and create a new Workflow console application named RSSReaderWorkflow. You can change the name of the workflow to anything you like or leave it as is. I renamed the workflow to ReaderWorkflow for this project. One thing to note, you may have to open the workflow in xml mode to change the class name. The designer seems to pass this by when you rename from the solution explorer.



Now we need to a couple of container classes. The first, RSSFeeds contains a list of feed uri’s. This is the list of feeds read.

using System;
using System.Collections.Generic;


namespace RSSReaderWorkflow
{
public class RSSFeeds
{
public List<Uri> Feeds { get; set; }
}
}
 
 The second class we need to add is the RSSItem class. This class will contain the news items from the rss feeds that we read.

 
using System;

namespace RSSReaderWorkflow
{
public class RSSItem
{
public string Title { get; set; }

public string Link { get; set; }

public string Description { get; set; }
}
}




With that out of the way, drag a sequence activity from Control Flow section of the tool box. This is going to be a simple sequence workflow, so this activity serves as the container for the other activities we’ll add.


Next we’ll add two arguments one of the input named RssFeeds which is a type of RSSFeeds and is required.



The second argument is an out argument and will be a list of RSSItem. This will contain our feed results which we will display to the console.





Next drag an If activity from the tool box, we’ll add a condition to check that we have at least one feed to read.





Next in the else side of the if activity, we’ll add a throw activity. This activity will throw an argument out of range exception if the feeds count is zero.





Next we need to add a new code activity to read the feeds an populate the results. From the solution explorer right click –> add new item and select workflow and Code activity. Since we want to return the results of the rss feeds we’ll need to derive from TResult and add a bit of code. Here is the ReadFeedActivity class.






using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Activities;
using System.Xml.Linq;

namespace RSSReaderWorkflow
{

public sealed class ReadFeedActivity : CodeActivity<List<RSSItem>>
{
// Define an activity input argument of type string
public InArgument<List<Uri>> FeedUri { get; set; }


// If your activity returns a value, derive from CodeActivity<TResult>
// and return the value from the Execute method.
protected override List<RSSItem> Execute(CodeActivityContext context)
{
List<RSSItem> results = new List<RSSItem>();

foreach (var f in FeedUri.Get(context))
{
XDocument doc = XDocument.Load(f.ToString(), LoadOptions.None);
results.AddRange( (from i in doc.Descendants("channel").Elements("item")
select new RSSItem()
{
Title = i.Element("title").Value,
Link = i.Element("link").Value,
Description = i.Element("description").Value
}).ToList());
}
// Obtain the runtime value of the Text input argument
return results;
}
}
}
 
Now Build the project and the new activity will be avaliable in the tool box. You can simply drag it to the if activity.


 

 Set the FeedUri Property to the RssFeeds.Feeds argument property.







Set the Result to the Results output argument property.



Now we need to update the main. It will create and pass in the the feeds and display the results.


class Program
{
static void Main(string[] args)
{
// set up a list of input feeds
Dictionary<string,object> wfArgs = new Dictionary<string,object>();

// the workflow is expecting a feed list object
RSSFeeds list = new RSSFeeds()
{
Feeds = new List<Uri>()
{
//usa today
new Uri("http://rssfeeds.usatoday.com/usatoday-NewsTopStories"),
//cnn
new Uri("http://rss.cnn.com/rss/cnn_topstories.rss")
}
};
// add the input to the args dictionary
wfArgs.Add("RssFeeds",list);


try
{
// the workflow will return a dictionary with the rss items
IDictionary<string, object> wfResults = WorkflowInvoker.Invoke(new ReaderWorkflow(), wfArgs);

// loop through the keys
foreach (var item in wfResults)
{
// cast the value as an RSSItem list
List<RSSItem> res = item.Value as List<RSSItem>;

// display the results
res.ForEach(i => Console.WriteLine(i.Title));

}
}
catch(ArgumentOutOfRangeException e) // if you comment out the feeds, you can watch the throw in acction
{
Console.WriteLine(e.Message);
}

Console.Read();
}
}



Now we have a simple workflow that reads RSS feeds.

Monday, October 26, 2009

SKU’d again

Another Visual Studio Release and another round of SKU’s. It seems the marketing folks in Redmond that had a hand in this where the same ones that brought us the Vista and Windows 7 product line up.

So here is the basic break down of the Old versus the New SKU’s for Visual Studio 2010.

  • Visual Studio Standard and Visual Studio Professional become VS 2010 Professional
  • Visual Studio Professional with MSDN Premium and Visual Studio Professional with MSDN Professional become VS 2010 Professional with MSDN
  • Visual Studio Team Dev, Database, Architect and Test become VS 2010 Premium with  MSDN
  • The Visual Studio Team Suite becomes VS 2010 Ultimate with MSDN

  Of course Express is still available as before for the hobbyist, as before one for each language. There is also a combo install for express, but quite frankly I haven’t had time to look at it.

Microsoft is also offering an upgrade offer for MSDN Premium subscribers during the “transition” time, that will allow you to activate a premium subscription now and get Ultimate when Visual Studio 2010 is released in or around March of 2010.

In the end I find these marketing name games a pain, I like the seeming simplification, the names are to Windowy for my taste.

Sunday, October 25, 2009

What's New in EF 4

Julie Lerman has posted a Screen cast – What’s new in the Entity Data Model Designer in VS2010. Defiantly worth a look. She covers Complex Types and the new Foreign Key functionality as well as a slew of other changes. The screen cast runs about 20 minutes and can be found at http://www.screencast.com/users/JulieLerman/folders/EF4

Tuesday, October 20, 2009

Microsoft has released VS 2010 beta 2 to MSDN and Technet subscribers. General availability is set for the 21st of October.

The UI is greatly improved since beta 1, here are a few screens to wet your appetite while you wait.

The Install start screen.



More install




Install process


The start up screen has been greatly enhanced since beta 1.


There are a number of changes, in fact too many to list in a single entry. Look forward to the continuation of the workflow series shortly..