PDC Keynote Day 2: Windows 7

PDC Keynote Day 2: Windows 7

Today we got to see Windows 7 (the first time for me and many others) which had some cool features in the user experience around the taskbar and notification area.  There are also new features around quickly jumping to certain documents and applications, managing window layouts, and managing documents using libraries.  Libraries seem like a combination of search and folders to make it easier to find your files. The search capabilities are more easily surfaced as well.  In fact, it seems like a lot of Windows 7 is about making it easier to do things in Windows that you could previously do, and improving the user experience.  I think this is critical to competing with Apple as the one thing they really excel at is the user experience.  There are improvements in home networking connecting all your devices automatically and allowing for scenarios where I can for example load some music from another PC and play it on my home audio system, controlling it all from my laptop.  Pretty cool stuff for the home user. 

The taskbar stuff is pretty cool and generally the UI improvements are nice and should make working on Windows a lot better.  We also got to see some of the touch features in Windows 7 (including using it with a new version of MS Paint -woo hoo), which I think is most relevant for tablets, which most people don't have.  I just don't see a lot of people using touch on a monitor on their desktop.  What do you think?  Am I missing something here? 

Homegroup is a cool new feature that simplifies connecting a machine to all the devices in your home network.  Even if you bring your work laptop home, it can participate as a client without comprising the security of the work files on the laptop.  Smart thinking on the part of the team. 

Other interesting features:

  • BitLocker on USB – lose that USB thumbdrive?  No problem.
  • VHD mounting and creation- built right into the disk manager allows for creating VHD from disks or attach one as a drive.  Steven S also said you can boot Windows 7 from a VHD and also use something similar to "undo disks where I can reset that drive for development.
  • Multi-monitor/remote desktop – Easier ability to show on projector with "windows + p" and true multi-monitor support when using remote desktop
  • UAC settings – now on a continuum so I can pick how strong I want the UAC to be. 

 

Scott Guthrie

New WPF Controls like DataGrid, Ribbon, DatePicker, etc.  Integration into Windows 7 using XAML which looked really easy. 

Visual Studio 2010 built on WPF providing better multi-monitor support, better designers.  Sweet demo showing WPF Control embedded into the text editor and enabling rich visualization of comments including linkable bug identifiers that enable a pop up WPF control that shows the bug details from TFS.  Having WPF embedded into VS is going to enable a LOT of very cool developer tools from MS, third parties and the community. 

All of this is based on the Managed Extensibility Framework (MEF) which I haven't totally groked yet, but sounds pretty powerful not just in VS but in other applications as well. 

 

Tesco (biggest grocery retailer in the world) showed off a great WPF application built for customers to help manage meal planning, buying groceries, getting them delivered, etc.  They also showed off a cool feature where they put a soda can in front of the web cam, grabbed the UPC from the can and then used that to bring up the product and add it to the cart.  Very cool example. 

  • IIS Smooth Streaming – new feature in IIS 7 that provides the bit rate throttling much like what MS used for the Olympics site. 
  • netflix now using Silverlight for their instant view (which will make my wife the Mac user happy). 
  • Great new suite of Silverlight controls shipping with source. 
  • New Silverlight designer in VS 2010 sharing the codebase with the WPF design surface
  • New release of Silverlight coming with better media support and the ability to run Silverlight in and OUT of the browser.

 

David Treadwell (Live Framework / Mesh)

Mesh service becoming part of Live Services platform including data synch, device management and building applications on top of the live system.  He announced the Live Operating Environment (consistent across devices -cloud, mobile, pc, etc.) and Live Programming model. 

Demo of a very cool use of Live Mesh culminating with a picture being taken on a phone, synched to a desktop and shared though synch with another desktop version of the application.  Also showed simple access to devices, folders, and contacts. 

Another cool demo from BBC using their iPlayer and POC of mesh integration with devices and contacts.  Super cool example where they started watching a show on the desktop, then it was synched to the mobile phone where it not only downloaded the show, but started playing where he stopped watching on the desktop. 

  • Mesh support for mobile 6 and Mac coming in the beta later this week.

 

Office 14 Web Applications

WOW – huge announcement involving Web versions of Word, Excel, PowerPoint, and OneNote.  This means a user on the web can view and edit files in these applications in the browser.  Demo showed adding a picture/content to a onenote notebook on the desktop and it showed up seconds later in the web version of the notebook with no refresh.  I guess this is Software + Services!  Very nice. This even works with Windows Mobile where OneNote can run. 

Web applications will work on IE, Firefox and Safari, but also provides a rich Silverlight experience.  I'm actually excited about Office again. 

PDC Day One – Key Note a Go Go!

They should have called it “Stockholm” instead of “Oslo”; they really should.
“08”, pronounced “noll%u00e5tta”, or “j%u00e4vla noll%u00e5tta” in the north of Sweden, is the nickname for Stockholmers (08 is the area code for Stockholm), so “PDC 08” would mean “PDC Stockholm” in Swedish.
David Chappell Article
As always, David Chappell has been following the development of “Oslo” and realted technologies from the early days. He has just had an article published on MSDN “Workflows, Services, and Models – A First Look at WF 4.0, Dublin, and Oslo”, which will be well worth reading.
BizTalk .net Services
BizTalk Services is now .net Services, a part of the “Windows Azure” cloud based operating system. “But why is it called BizTalk Services?” has been a common question for a while. I’ve never really understood the logic of applying the “BizTalk” brand to a set of cloud based WCF services. Changing the name to “.net Services” makes a lot of sense. There is a good section of articles in “The Bloggers Guide to Oslo” on this technology, in the BizTalk Services section (this will be renamed in the next version) and also a webcast on using the services here. It will be interesting to see how the cloud based workflow has evolved as there was quite a limitation on what could be built in the BizTalk labs workflow hosting.
“Oslo” SDK Goes Live
The “Oslo” SDK has been released and is available for download. To install the SDK you will need to have Windows Server 2008 installed, as the repository database is dependent on some of the SQL 2008 features. The SDK will allow you to explore the “M” declarative programming language and create data models declaratively. The “M” language is the brainchild of Don Box, the self declared “Chief Modeling Officer” in the Connected Systems Division at Microsoft.
The SDK contains the following components:
%u00b7 Repository Database
%u00b7 “M” Modeling Language
%u00b7 “Mg” Domain Specific Language Creation language
%u00b7 IntelliPad Editing Tool
I’ve taken a quick tour of the “Oslo” SDK and looked at the key features.
Oslo Repository Database
The Oslo repository database is used to store models.To view the database, open the SQL Server 2008 Management Studio and select it. If you expand the table structure, you will see a large number of tables relating to the various models that are present in the repository.
The schema names feature of SQL has been used to create a storage structure that reflects some of the net class library namespace. If you are a WCF developer you should take a look at the System.ServiceModel section and check out the tables used to store WCF related information. These tables will be used by the Quadrant editing toolbox to allow users to model service contracts and persist the models to the repository database.
The information in the repository database is intended to be “transparent”, meaning it should be easy to query and modify with custom tools. This is a welcome change, as the BizTalk databases were “owned” by Microsoft, it seems like the Repository will be more open both in terms of data content and structure. There seems to be quite a number of models present in the database, but it is designed to be extensible by using the “M” modeling language to design data models that can then be imported to the repository.
IntelliPad
IntelliPad is a text editor targeted at “curly brace” programmers allowing them to define the schemas for data that will be stored in the repository in a productive manner. There were a lot of rumors sating that IntelliPad would be “Emacs.net”, but as I’ve never used Emacs, i could not make the comparison.
IntelliPad provides a good environment for prototyping “M” and “Mg” scenarios, providing quick feedback on what the developer is typing. The experience falls somewhere between Notepad and Visual Studio, resulting in a lightweight application that provides features like syntax color encoding, and basic IntelliSense.
My favorite feature of IntelliPad is the “Dynamic Parsing”, which will show the SQL output that is created from you “M” instantly as you edit the code. This is a really nice way to learn “M” as you see the results of code immediately, allowing you to experiment freely with the language.
“M”
“M” is a text based declarative data modeling language aimed at “curly brace” programmers. It initially started out being called “D”, but was changes to “M” shortly before PDC. “M” was originally created for building the models that are present in the repository database. There is a project in the samples folder that appears to be the “M” source files that have been used to create the repository, but I have not confirmed this.
The best way to start learning “M” is to use IntelliPad to declare a model, and then see the representation of that model in SQL. The “M” compiler can currently create two forms of SQL.
%u00b7 Rich – For importing models into the repository
%u00b7 Reach – Standard SQL for using in a regular databases
My immediate thoughts when using “M” were that it would be a great way of modeling regular relational databases in SQL Server. This view has been echoed by others that have worked with “M”. One of the reasons for using a text based language for modeling is that most programmers find that code is much more productive that working with graphical tools, and this is certainly the case with “M”. It took me about 30 minutes to get the basics of “M”, and a few hours to explore a few of the language features, and start creating simple models. I would imagine most developers will pick it up very quickly.
Links to the Best News Articles
I’ve added links to some of the best news articles relating to Azure on the Bloggers Guide.net front page. I’ll be updating this daily for the next couple of weeks.
Alternatively, you can follow the story on Slashdot for jokes about “Azure Screens of Death”, Soviet Russia, hot grits and chair throwing. Imagine a Beowulf Cluster in the cloud
PDC Top Tip #3: Vary the Experience
PDC is a bit like Glastonbury without the mud. You get tired of walking, your diet is not too healthy, you lose your mates in the crowd, and you never get enough sleep. It’s also similar in that there are the big headline events on the main stages, the smaller minority stuff that you really have to see, and also all kinds of cool things going on that are never in the program. The Expo is like the Green Fields, there’s a lot to see, it’s good for meeting people, there’s some great unannounced events going on, and you can always score some swag.
I skipped one of the main sessions and took a break and to head down there, and was rewarded with some very cool “Dublin” and “Oslo” t-shirts, a signed copy of first “M” language programming book. I also caught a demo of the “M” language in an unannounced spontaneous chalk-talk session by Don Box in front of 20 people. This was very cool to see, as the official public unveiling of the “M” language is not until the keynote tomorrow, it was great to see Don presenting “M” to such a small audience, much better than seeing it in front of 5000 people.
24/7 Networking People
There is an “MVP & Influencers” event at most conferences, and the one at PDC was scheduled for 10pm Monday to 1am Tuesday. I was thinking of trying to get an early night, but Marjan Kalantar said attendance was compulsory. It was a good bash; I met Kris Horroks and Mark Berman outside, and got chatting to Ofer Ashkenazi, who is the PM for BizTalk, as well as some of the other MVPs and CDS team. More Oslo, Dublin and WCF WF t-shirts to be had, nicer colors this time.
PDC FAQ 03: What’s in the bag?
%u00b7 A PDC 08 T-shirt
%u00b7 A PDC 08 water bottle
%u00b7 A copy of MSDN Magazine
%u00b7 An invite to the Universal Studios Party
%u00b7 Lots of bits of paper
%u00b7 No Oslo bits (There should be a green ticket in your pass wallet that allows you to pick up “The Goods” on Tuesday at 13:00.)
Technology on Steroids
I’ve so many people are saying that XXXX is YYYY on steroids. Here is a summary of the ones I have heard so far.
Technology
Is ______ on steroids.
IntelliPad
Notepad
Dublin
WAS
Quadrant
Access
Re-Sharper
Snippets
WCF
.net Remoting
Workflow Foundation
BizTalk
BizTalk
Workflow Foundation
It seems everything at the PDC is on steroids, I wish I was I’m exhausted.

"Geneva" identity framework

"Geneva" identity framework

I sat in on a session today that showed off the "Geneva" set of identity tools.  I have to say that the presentation was very well done as it showed how easy it was to take a normal ASP.NET application that was using .NET constructs like IsInRole and PrincipalPermission to do dynamic display and authorization of actions.  Caleb then took that app and enabled the "Geneva" tools on it by running a wizard which updated the web.config and configuring the STS to identify the application and it's requirements for claims.  Then, without changing any code, he ran the application again and the user experience didn't change!  On the one hand, not very exciting, it worked just the same, but when you think about it, he claim enabled the application and the user continued to get integrated login and authorization continued to work.  The claims were being populated by AD and included the group membership so IsInRole and PrincipalPermission continued to work. 

Now, just using a different way to do authz wouldn't be that exciting if it still just used AD and only worked for internal users.  So Caleb next configured a partner organization with a trust relationship, mapped their claims to those the application needed, and logged in as an external user (with no account needed in the local domain) and the application again needed no code changes!  The user had the right access based on the claims from the partner organization and the app continued to work. 

Finally, the demo included two cool features.  First, to enable CardSpace, Caleb just checked a box on the STS and it was good to go.  The issues of authz were all abstracted from the application.  The application did not have to think about where the claims were coming from, it just programmed to the claims.  Finally, the demonstration showed how the web application could use delegation to call a web service.  The web application was enabled for delegation and was able to take the users credentials (claims) and call the STS to get claims for the service. 

The whole "Geneva" framework includes the STS or service, the framework components you can use in your applications/services and then an update to CardSpace as well.  If you are interested in claims based identity (hint: you should be if you are not) then check out the "Geneva" information and download the betas today. 

Simplified hosting experience with ‘Dublin’

I’m now in the session on the PDC 2008: WF 4.0 A first look. Just laying on my chair the leaflet: .NET Framework 4.0 Windows Communication Foundation and Windows Workflow Foundation

In that leaflet there was a very nice announcement: Windows Server Dublin.

What’s Windows Server Dublin?

"Simplified hosting Experience with Dublin
Windows Server ‘Dublin’ technologies provide the .NET 4.0 developer with a standard host for WCF and WF application. ‘Dublin’ will allow you to host your workflow using pre-built developer services in a robust scalable environment – freeing you from writing your own host environment"

Woehooo, that’s makes my very happy, it seems that the Workflow Foundation environment gets more and more mature.

This is working together with Visual Studio 10 & .NET Framework 4.0, unfortunately this might take a while before it’s really in production. But he it’s really worth waiting for.

Found in the announcements (All are very good news and make me even more curious to get my hands on it.)

Q: Will “Dublin” support existing applications built on the .NET Framework? What should customers and partners do today to prepare?

A: Yes. “Dublin” will continue to provide backward compatibility for existing Windows Workflow Foundation and Windows Communication Foundation applications. Customers can confidently begin building applications on top of both Windows Server 2008 and .NET Framework 3.5 today, with assurances that those applications will enjoy the benefits of “Dublin” when it becomes available.

Q: What are the customer benefits of the using Windows Communication Foundation and Windows Workflow Foundation with “Dublin”?

A: The 4.0 release of .NET Framework represents the second generation of the Windows Communication Foundation and Windows Workflow Foundation technologies. For the .NET developer, the 4.0 enhancements include these:

– Simplified coordination of work
– Ability to express applications and services in a way that makes sense to individual teams and businesses
– A framework for durable, long-running applications and services

Q: Will “Dublin” work with the “Oslo” modeling platform technologies?

A: Yes. “Dublin” will be the first Microsoft server product to deliver support for the “Oslo” modeling platform. “Dublin” does not require “Oslo” to operate and provide benefits of hosting .NET applications; however, administrators will be able to deploy applications from the “Oslo” repository directly to the “Dublin” application server. “Dublin” provides model-driven “Oslo” applications with a powerful runtime environment out of the box.

Q: Will “Dublin” work with Microsoft BizTalk Server’s enterprise connectivity services?

A: Yes. The integration server and application server workloads are distinct but complementary; customers want to be able to deploy them separately as needed to support their distinct requirements. For example, customers that don’t need the rich line-of-business (LOB) or business-to-business (B2B) connectivity provided by an integration server will deploy the Windows Server application server to host and manage middle-tier applications. Likewise, customers that need to connect heterogeneous systems across an enterprise, but don’t need to develop and run custom application logic, will deploy BizTalk Server. When customers need both capabilities, “Dublin” and BizTalk Server will work together nicely.

See also: Windows Server Application Server Roadmap

PDC 2008 – The Future of C#

So I had a chance today to attend a session given Anders Hejlsberg on C# 4.0, and beyond.  Honestly I walked out of the session going … that’s it?  The feature list started with the dynamic keyword, which is cool but simply does not help the 80% of C# developers today.  Most C# developers today are so bound to type safety that dynamic will give them even more heartburn than var did.  Now in reality it will likely make scenarios like property movement from service contracts to domain objects easier, but all its really doing is the same thing I blogged about the other day when working against .NET types, just with more layers and interfaces so that it can be built into the language directly.

The next big thing mentioned was Named and Missing parameters.  In the talk be mentioned that these should have been there long ago and he’s absolutely right about that. As such, you’ll get no big congratulations from me.

What else?  Co-variance and Contra-variance of course … a couple of things on this.  First, I don’t think a lot of people will care.  Second, perhaps I’m slow but I have no idea why a new keyword is needed for this.  If a type is being used only as an input, then the compiler can detect that and add the “in” keyword, and if it is output only, then add “out”.  Why do I need to personally decorate this?  Are their edge cases? Probably, but then have an opt-out model where you can take direct control only if needed.

The C# 5.0 stuff about the compiler as a service is … sexy.  That is a concept that excites me, but that’s just teaser stuff right now and they have no idea how/when they’ll deliver.  But what about other stuff?  How about extension properties?  What about interface inference (which is a major step towards duck typing)?  I don’t see a bunch of “type safe” enterprise developers getting excited about C# 4.0 as presented.  They might think its cool, but will they use it like they use automatic properties or LINQ?  I think not.

 

Technorati Tags: pdc2008,C#