I went through this with a colleague recently and thought it might be useful to share. When you run Virtual PC there is an option (under File, Options) to set "Enable hardware assisted virtualization". On my machine - a Dell D820 - this was grayed out.
If you go into the BIOS there is an option to turn on hardware virtualization. I did this and now have the option to select or unselect. I have not found any major performance changes though but I rarely use images that much.
This post is the first in the series based on the "A Dozen Considerations" post . The intention is to provide just a high level introduction on the topic.
An area that many developers and software vendors often neglect is the user experience. Often when developers hear the term user experience, we equate it with the user interface. To some degree, Microsoft is to blame as often end up showing those pretty WPF or Silverlight demos. Certainly user interface is one component of the user experience but it is not the only one. For example, if you walk into a shop and the first person you see is Charlize Theron you might be quite happy. If she, however, had to swear at you, or tell you that you are not allowed in, that would not be a great user experience.
The importance of user experience is clearer when you look at other industries. The motor industry is a good example. You can take 2 cars which ultimately might serve the same purpose but the user experience is totally different. Driving a BMW, Mercedes or Lexus is quite different to driving an old 1300 car with no aircon. Certainly price does play a major factor in the purchasing decision here. Looking at the motor vehicle industry a bit more, you will notice the attention they would pay to "ease of use". Sometimes I think that if developers had to design a car they would place the radio in the backseat.
Another good example that was talked about in the Remix event last year was the difference in traveling with Virgin Air versus many other airlines.
In the software world, user experience is becoming both a requirement and a business differentiator. Customers and end users are looking for great user experiences and would sometimes prefer using one website over another, even if the price at the preferred website is higher. Once again the user experience here refers to the end to end experience that includes service, support, shipping etc.
Some of the factors that should be take into account include:
- Ease of use. This includes the ability to find what you need quickly.
- Performance. For example making use of background threads.
- The user interface. This has many aspects to it. Make sure that screens are not too cluttered. Look for alternative ways of presenting too much information.
- The appeal. This would involve proper use of 3D, animations etc.
- The designer role. Many teams do not have this role on board (especially if they are doing Windows based development). A developer taking on the role is usually not good enough as the person needs to have the proper skills and mindset.
From a Microsoft technology perspective the main technologies you will evaluate include:
- AJAX (Broad reach, HTML based)
- Windows Presentation Foundation - the "richest" experience but does require .NET Framework 3 or higher on the machine. Supported only on Windows.
- SilverLight (Rich Internet Applications, Requires certain browsers but does run Windows/Mac and soon Linux too)
The whitepaper - Introducing WPF 3.5 - referenced below has additional content on which one to select and when.
From a tooling perspective it is Visual Studio for developers and Expression for designers.
Resources
The New Iteration: How XAML Transforms the Collaboration Between Developers and Designers in Windows Presentation Foundation (WPF)
Introducing WPF 3.5 - covers a bit more than just WPF
MSDN Architecture Center - User Experience
User Experience Design - Wikipedia
User Experience Network
You might have seen us demo the New York Times Reader a few times. This was based on a framework that we have now made available. This mean you can now develop your applications like this. It does not have to be just newspapers though. Think about internal newsletters as well. The data can be cached as well.
With this we have available an MSDN Reader which is based on the same technology. A little screenshot below
Go grab it now from http://windowsclient.net/wpf/starter-kits/sce.aspx
A few months ago I developed a presentation of a set of considerations that Independent Software Vendors (ISVs) should take into account. Most of these apply to developers in general. Below is the high level list (in no particular order of importance)
- User Experience Matters
- Connecting the Front Office to Back Office (Office Business Applications)
- Get Mobile
- Be manageable
- Secure yourself
- Think Virtual
- Pervasive Intelligence
- Communicate and Collaborate
- Embrace Software + Services
- Place nicely
- Your Development Process
- Leverage the platform
- What, Who, When - Determining your Strategy
In the next few weeks, I will expand a bit on each one of these points. And yes I know there is 13 points!
<Update: Based on Craig's comments that he could get it installed in his office, I decided to do some digging and found these 2 URLs http://www.anti-tgtsoft.com/?p=14 and http://cid-9e63a4688135fd45.skydrive.live.com/browse.aspx/LiveSuiteEN. The latter one seems to be one where you can download the MSI. The problem is that they have those nice GUID names. This is where the first URL looks helpful. Note I have not tried this and all usual disclaimers apply :-) >
On running Live Writer a couple of days ago, I got a message that the beta had expired and it prompted me to download the latest version. I quickly downloaded what I thought to be the full install package. On running it though, I realized that it was actually a setup bootstrapper for a range of Live Services - like Messenger and Windows Live Mail. The brought up an interesting point on how many vendors (including Microsoft) tend to overcomplicate the matter of installing software. Personally I like the small, quick download (preferably with no registration). This should then be followed by a nice quick installation that does minimal mess to my machine.
Now the Live Writer install was not bad. After selecting it as the only option it proceeded to download it, get rid of my old version (this was nice as I did not have to explicitly remove the beta) and install the new version. I still prefer though just downloading the bits I need, and do a quick install. The RealAudio player install tends to be one that frustrates me. In the initial versions, it would be the quick download and setup. Now the download is bigger and by default it wants to install the Google toolbar. During installation, it wants to make the player default for everything (and there does not seem to be an easy way of saying keep my existing settings). It does come with a prompt screen showing you is currently allocated to what player but I find this screen to be confusing. What is more irritating though is the services that seem to get installed along with stuff that is put into the notification (aka tray) section. I use the player only occasionally and having all this extra stuff run all the time (by default) is not cool.
Brian Harry has blogged about the latest VSTS stats. The interesting bit is that the local version table has passed 1 billion rows. You can read more about it here