PDC 2008: Tuesday's Keynote

Tuesday's PDC keynote is all about Windows 7 and to a lesser extent Visual Studio 2010 and the .NET Framework 4. Senior Vice President Steven Sinofsky introduced Windows 7 and Julie Larson-Green provided various demos. The new UI features in Windows 7 were loved by the enthusiastic US audience but they left me cold. All I can see in this bucket of UI bells and whistles is yet more years of working out how to disable Microsoft's new feature to 'help' me that simply succeeds in getting in my way. Each feature depressed me even more. So I was in need of some cheering up. And along came Windows 7's support for multi-touch. I love this feature. This is basically all of the work that went into Microsoft Surface now available in Windows 7. Existing applications (e.g. Word, Excel, .NET applications) can be used with the basic touch support without any modification to the applications. However, Windows 7 includes a multi-touch API that you can take advantage of. Multi-touch aware applications enter a whole new world of functionality and potential. Scott Guthrie later showed a WPF application that was multi-touch aware. The application, a canonical photo viewer (we really need to move on from the photo viewer WPF demo), allowed photos to be re-sized, dragged, opened and closed all using touch, just like you've seen on any Microsoft Surface demo. Armed with a copy of Windows 7 you can try this out yourself today using an HP Touchsmart (the cheapest I've seen at the time of writing is ?550 inc. VAT and delivery).

Here is a collection of other notes I made about Windows 7:-

  • Windows 7 uses the same kernel as Windows Server 2008 and Windows Vista so all of the drivers that had to be rewritten for Vista should work fine with Windows 7 and we should not suffer the same driver-compatibility shock we did with Vista.
  • Windows 7 includes support for up to 256 processors. As parallel computing and virtualization become more common place this makes an increasing difference.
  • Windows 7 allows USB sticks to be encrypted using Bitlocker.
  • Windows 7 allows you to create virtual hard disks (VHDs) from within Disk Manager (instead of using Virtual Server, Hyper-V or Virtual PC). In addition Windows 7 can boot from a VHD.
  • Windows 7 makes it easier to set a custom DPI size for your display. Whereas most people in Europe and the US won't need this feature it will make a difference to CJK (Chinese, Japanese, Korean) fonts where the DPI is sometimes increased to make text easier to read.
  • Windows 7 allows you to customize the shut down buttons actions so that you can change the shut down button to actually shut down (instead of merely going to sleep).
  • Windows 7 allows you to specify what messages should pop up from the tray icons to alert you to all of the trivia that goes on on your computer. I like this feature as it allows me to treat trivia as trivia and restrict my notifications only to things that I really am interested in.
  • The Windows 7 UAC can now be configured as to how intrusive it is. Previously it was either on or off but in Windows 7 you have a slider that you can use to indicate how much you enjoy being interrupted when you are busy doing real work.
  • Windows 7 includes the latest version of the .NET Framework which in the current pre-beta version is .NET Framework 3.5 SP1 but this will probably change before the operating system is released.
  • I'm not sure whether this applies only to pre-release versions of Windows 7 or whether this will be true for the final released product but each window in Windows 7 has a button that you can click to provide feedback about that window. The report that is sent to Microsoft includes contextual information that Microsoft needs to file the report correctly. This helps all of us as it makes providing feedback so simple and easy that we are much more likely to make the effort.
  • Windows 7 includes new versions of Paint, Calculator and WordPad. Sadly they all use the new ribbon now so any previous knowledge you have on how to use these applications goes straight out of the window.

Two more features stood out for me and it's interesting how often the tiny features are the ones that are most attractive. Pressing the Windows key and the "+" key now activates an enhanced version of the traditional Windows magnifier to zoom in to the current mouse pointer where the magnifier follows the mouse cursor (and Windows "-" zooms out). As such this provides the same functionality as Zoomit and NLarge (but without the drawing functionality). I suspect that I will continue to use Zoomit though as this will give me consistent functionality across all operating systems. The second feature is the pressing the Windows key followed by "P" brings up the output display dialog that allows you to send the computer's output to a second monitor for presentations. In addition this provides a real time change as you move from output option to output option so you can see the effect of your selection without actually making it.

And, of course, the most important question as always is when will we get it ? The version of Windows 7 given away to PDC attendees is a pre-beta that is not feature complete. There will be a full beta "early in 2009" with the final product being released "3 years after the Vista ship date".

Scott Guthrie demoed Visual Studio 2010, the .NET Framework 4 and WPF with multi-touch support. Visual Studio 2010 now uses WPF for its UI (although not everything has been converted to WPF yet in the current CTP) which is a wonderful step forwards and a useful seal of approval from Microsoft that they are prepared to use it for their own products. Visual Studio 2010 also supports multiple web.config files (and presumably other types of files as well) for different scenarios so you can have a base web.config plus variants for debugging, staging, deployment etc.. A useful feature of the .NET Framework 4 is that it supports side by side execution of the CLR 2 and CLR 4 (at the same time) which will guarantee backwards compatibility.

On the subject of current technology:-

  • Various new controls (DatePicker, Calendar, DataGrid, Ribbon) for WPF will ship this week as well as the Visual State Manager that has previously only been available for Silverlight.
  • The Visual Studio intellisense file for jQuery shipped on 28th October 2008.

Nick Lansley (Head Of New Technologies at Tesco) and Paul Dawson (Conchango) showed off their new WPF application for the Tesco's shopping cart which looked excellent. They also mentioned that they are making the API for their service available to developers.

All in all there was enough here to recommend watching this keynote online. Enjoy.

Currently rated 3.2 by 5 people

  • Currently 3.2/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: guysmithferrier
Posted on: Wednesday, October 29, 2008 at 10:31 PM
Tags:
Categories: Visual Studio | Windows 7 | Events
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

PDC 2008: Monday's Keynote

Monday morning at PDC 2008 brings the opening keynote with Ray Ozzie and friends. You can watch the keynote from http://www.microsoftpdc.com. The first 20 minutes is fairly miss-able as Ray talks about cloud computing and how and why we got here. After this Ray announces Microsoft Azure (http://www.azure.com) which is one of the main events for PDC this year (along with Windows 7, the .NET Framework 4.0 and Visual Studio 2010). Ray describes Azure as Microsoft's web tier offering, computing in the cloud and a "service based operating environment" essentially it is an 'operating system' for the web aka "Windows in the cloud" ? a service running a vast number of services hosted by Microsoft. The Azure services include Live Services, .NET Services, SQL Services, Sharepoint Services and Dynamics CRM Services. Ray is keen to stress though that the Azure CTP is "only a fraction of what will be available". Each of the speakers presses home the point that the development experience for Azure applications is based on existing skill sets i.e. .NET Framework (including C#, Visual Basic.NET etc.), Visual Studio, ASP.NET etc. ? the Azure API is just another .NET Framework class library with templates and wizards for Visual Studio. What is really quite cool here though is that the tools allow you to develop for Azure locally on a stand alone machine. This works by running an Azure server locally on the development machine in the same way that the ASP.NET Web Development Server ("Cassini") provides a local web server for web development. Deployment to Microsoft's Azure is a separate step that is akin to all of the other "publish" operations supported by Visual Studio. I suspect that the fact that deployed Azure applications are hosted solely by Microsoft on Microsoft's servers is the contentious point here. As far as I can see at this time there are no options here ? you host it on Microsoft's servers or you don't use Azure. For small and mid-sized companies this is fantastic news since Microsoft will scale and balance according to the configuration settings of the Azure application. PDC attendees get an Azure account which includes free hosting at this time but the details on what Microsoft will charge for this when it goes live are unclear. Larger sized companies might take a different stance on this architecture.

Dave Thompson comes on later to talk about Microsoft Online Services, Microsoft's 'software plus services' offering, which currently includes Exchange Online, CRM Online and Sharepoint Online. He goes on to say that in the future all Microsoft software will be available as services.

All PDC attendees get an external hard drive with the following:-

  • Windows 7 (32 bit and 64 bit) CTP, Windows 7 SDK
  • Visual Studio 2010 CTP
  • .NET Framework 4.0 CTP
  • Silverlight Tools for Visual Studio 2008 SP1
  • Virtual PC, Vista SP1, Windows Server 2008 R2 (64 bit), SQL Express 2005, Powershell
  • Microsoft Robotics Developer Studio 2008 Express Edition
  • .NET Micro Framework SDK 3.0
  • Windows Media Center SDK
  • Numerous whitepapers
  • Various Hands on labs

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: guysmithferrier
Posted on: Tuesday, October 28, 2008 at 9:10 PM
Tags:
Categories: Events | Windows 7 | Azure | Visual Studio
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

DDD7 Registration Is Open

Stop reading this post and register for DDD7 now. Go to http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032393874&Culture=en-GB. DDD7 is a free one day event arranged by the community for the community on Saturday 22nd November 2008 at Microsoft UK in Reading. You can see the agenda at http://www.developerday.co.uk/ddd/agendaddd7lineup.asp. Remember DDD6 was full within 24 hours of registration opening.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: guysmithferrier
Posted on: Wednesday, October 22, 2008 at 12:26 PM
Tags:
Categories: Events | DDD
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

NxtGen Coventry: Internationalizing WPF And Silverlight Applications

I?m hoping it will be third time lucky for me as I return to the Coventry chapter of The Next Generation User Group on Monday 8th December 2008 for another outing of the Internationalizing WPF And Silverlight Applications talk. Here?s the abstract again:-

  • The .NET Framework has supported internationalization since 1.0 but with each new UI platform comes a new approach and new challenges. Unlike Windows Forms and ASP.NET, WPF does not offer one standard solution to localization. Instead it offers choices. This session shows how to localize WPF applications using standard .resx files and how to localize ?post-build? using LocBaml with and without Resource Dictionaries. In addition you will see how to localize a Silverlight application using .resx files and we will consider issues that are specific to Silverlight. We will evaluate the pros and cons of each approach and arm you with the information required to form a localization strategy for your applications.

On my previous two attempts despite heavy and heavier hints for my fondness for medically disturbing junk food taste sensations the "Faggot And Pea Batch" (a delicacy of Coventry) was not forthcoming. But this time it?s Christmas. Surely it will be this time. And a Merry "Faggot And Pea Batch" Christmas to everyone!

Currently rated 1.0 by 2 people

  • Currently 1/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: guysmithferrier
Posted on: Wednesday, October 22, 2008 at 12:24 PM
Tags:
Categories: Events | Silverlight | Internationalization
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

TechEd Europe 2008: Internationalizing WPF And Silverlight Applications

I?m delighted to say that I will be speaking at TechEd Europe again this year and would you believe it I?m speaking on internationalization. No, it?s true. This time it?s the internationalization slant on WPF and Silverlight in:-

  • WIN304: Internationalizing WPF And Silverlight Applications
    The .NET Framework has supported internationalization since 1.0 but with each new UI platform comes a new approach and new challenges. Unlike Windows Forms and ASP.NET, WPF does not offer one standard solution to localization. Instead it offers choices. This session shows how to localize WPF applications using standard .resx files and how to localize ?post-build? using LocBaml with and without Resource Dictionaries. In addition you will see how to localize a Silverlight application using .resx files and we will consider issues that are specific to Silverlight. We will evaluate the pros and cons of each approach and arm you with the information required to form a localization strategy for your applications.
Just like previous years I get the much coveted first slot of the day when everyone has had a great night out and are fully refreshed and really ready to receive lots of technical content. This time it?s on Wednesday 12th November 2008 between 9:00am and 10:15am. If you?re feeling fully refreshed and just bursting with eagerness to learn about internationalizing WPF and Silverlight come along!

Currently rated 1.0 by 3 people

  • Currently 1/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: guysmithferrier
Posted on: Friday, October 17, 2008 at 3:08 PM
Tags:
Categories: Silverlight | Internationalization | Events
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

Silverlight 2 Released

They said they?d do it before the end of the year and they did. Silverlight 2.0 was released on Tuesday 14th October 2008. To develop for Silverlight 2.0 you will need Visual Studio 2008 SP1 or Visual Web Developer Express. You can get full details of what?s in this release here.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: guysmithferrier
Posted on: Wednesday, October 15, 2008 at 3:08 PM
Tags:
Categories: Silverlight
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

DotNetDevNet: Oren Eini On Monday 13th October 2008

Great news! Oren Eini, author of Rhino Mocks and contributor to the Castle Project and NHibernate, is coming to the UK and will be taking time out to come down to Bristol for The .NET Developer Network. Oren will be presenting two subjects:-

  • "Producing Production Quality Software" - Working software is no longer the only thing that we need to produce. We need to create a software system that has a chance of surviving in the cruel world of production system, outside the clean room and sterile environment of development and QA. Understanding bottlenecks in the system, preventing cascading failures and recovery strategies have ceased being the problems of the very high end players. With the cost of system downtime being measures in $$$/second, this is an area we have to consider all the way. In this talk we will cover how we can map common weaknesses in the system design, preemptively protect ourselves from them, and produce software systems that can withstand the real world hostile environment.
  • "Interaction based testing with Rhino Mocks" - Beyond the simplest scenarios, all objects had collaborators that they work with. This flies in the face of testing objects in isolation. This is the problem that mock objects were created to solve. In this talk you will learn what mock objects are, how to utilize them and best practices on when / how to utilize them. Rhino Mocks is a mock objects framework for .Net whose core goals are to let the developer rely on the compiler work well with refactoring tools.

Also there will be a grok talk on jQuery by Chris Myhill. This is particularly relevant since Microsoft announced that jQuery will be included with all Visual Studio releases from here on including ASP.NET MVC.

For more details on the event and to sign up go to http://www.dotnetdevnet.com/Meetings/tabid/54/EntryID/26/Default.aspx.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: guysmithferrier
Posted on: Tuesday, September 30, 2008 at 11:52 AM
Tags:
Categories: Events
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

Slides For Internationalizing WPF And Silverlight

I have posted unbranded slides on my Resources page for the Internationalizing WPF And Silverlight presentation first shown at ReMix UK 08 a couple of weeks ago.

Currently rated 4.5 by 2 people

  • Currently 4.5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: guysmithferrier
Posted on: Monday, September 29, 2008 at 3:42 PM
Tags:
Categories: Internationalization | Events
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

Silverlight And Strongly Typed Resource Classes

If you have tried to localize Silverlight applications using .resx files you will probably have noticed that strongly typed resource classes don't work straight out of the box. This post describes how you can overcome this.

New in Visual Studio 2008 is the PublicResXFileCodeGenerator, a code generator for creating public strongly typed resource classes. This code generator does indeed generate public classes with public properties and for all applications except Silverlight this is exactly what is wanted of a public strongly typed resource class. But for Silverlight applications it is not enough. The problem is that the constructor in the generated code is still internal. Normally this doesn't make any difference because nothing ever constructs a strongly typed resource class directly; only the static properties are used. But the constructor is used in a Silverlight application and that's where the internal constructor is unhelpful. The manual solution to this problem is to edit the generated code and this is a very undesirable solution because you have to continually re-edit the generated code every time it is re-generated. A more permanent solution is needed and it is available in the form of the PublicResourceCodeGenerator. I have written a number of code generators for strongly typed resource classes that solve various problems. You can download the code generators here and the source code is included in the source code for my .NET Internationalization book here. Here is the current list of code generators for strongly typed resource classes:-

Code Generator Class Description
ResourceCodeGenerator Generates the exact same code as the ResXFileCodeGenerator and offers no additional benefit.
PublicResourceCodeGenerator Generates almost the same code as the PublicResXFileCodeGenerator except that the constructor is public instead of internal.
ResourceProviderCodeGenerator Generates the same code as the ResXFileCodeGenerator except that it uses a provider model instead of the ResourceManager.
PublicResourceProviderCodeGenerator Generates the same code as the PublicResXFileCodeGenerator except that it uses a provider model instead of the ResourceManager and the constructor is public.
GlobalResourceProviderProxyGenerator Generates the same code as the GlobalResXFileProxyGenerator (used for ASP.NET global resources) except that it uses a provider model instead of the ResourceManager.

So to generate strongly typed resource classes that can be used in Silverlight applications select the .resx file in Solution Explorer and then in the Properties Window set the Custom Tool to PublicResourceCodeGenerator.

Currently rated 4.2 by 9 people

  • Currently 4.222222/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: GuySmithFerrier
Posted on: Saturday, September 27, 2008 at 8:10 AM
Tags: , ,
Categories: Internationalization
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (2) | Post RSSRSS comment feed

ReMix UK 08

Last week saw the second Microsoft MIX event in the UK and this time it went to Brighton. I must admit I preferred this year's event to last year's possibly because it was in Brighton instead of London or possibly because it seemed somehow more relevant to me this year. There were some good sessions again. I enjoyed the design sessions as us developers don't often get much insight into this world. I especially enjoyed the Designing With Microsoft Expression session by Arturo Toledo - although this must have been a bit basic for designers it was a good tutorial into how to use Expression tools with more than the tragic plodding and fumbling around that developers such as myself can manage. I also attended the 20/20 talks (micro-presentations or Pecha Kucha) like last year and the bar was definately raised this year. They were all great and Richard Costall provided another classic performance but the outright winner had to be Sara Ford with her 20 Visual Studio Tips (that's one tip every 20 seconds). What an incredible performance. You can only do something like this if you've written a whole book on the subject and Sara's comes out shortly before PDC. No slides but worth every second. You should take 6 minutes 40 seconds out of your life to watch this when the videos are released.

Another highlight for me was Ready, Steady, Speak where I got to reprise my role as judge again. All of the 8 speakers were new to speaking and they gave great first time performances. Richie Allen (co-host of the Southampton Next Generation User Group) won with an excellent demonstration of how much you can improve in the space of just 24 hours with a few tips. Well done, Richie and well done to everyone who took part - I really hope we'll be seeing you guys again.

For my part I presented Internationalizing WPF And Silverlight for the first time and was quite happy with it considering it was the first outing for this one. Sadly I got the first session immediately after the event night again. Someone somewhere really hates me.

Other stuff to note: IE8, Silverlight 2 and ASP.NET MVC will all be released before the end of the year. Microsoft Surface will be available for purchase in the UK next year. There are no pricing details yet but it is $12,000 in the US at the moment. Sadly although the Surface SDK is free it is only available to purchasers of Surface so that puts it beyond most developers' reach. Still it is all WPF-based so that's a great place to start.

Roll on ReMix UK 09.

Currently rated 1.0 by 1 people

  • Currently 1/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: GuySmithFerrier
Posted on: Thursday, September 25, 2008 at 2:40 PM
Tags:
Categories: Events
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (3) | Post RSSRSS comment feed