Keynote 1

  • New IE9 preview out. No real news apart from they are putting a lot of emphasis on HTML5
  • There is a new profiling tool for Windows Phone 7!
  • New OData SDK

Keynote 2

All about Azure

  • Extra small instance ($0.05/hour)
  • Remote desktop
  • New "Virtual Machine" role. Take a Windows Server 2008 R2 image and upload
  • Enhancements to Azure Access Control Service. Can federate authentication to Facebook, Google, Yahoo, etc.
  • App fabric caching available
  • New Azure app composition service

Other links

Keynote 1

Steve ballmer on stage.

There are lots of devices that you can program for
Windows 7 -> Windows phone 7 -> xbox 360
All are powered by the cloud
HTML5 is the glue that can be used on all of them.

240million Windows 7 licenses sold
Lots of devices will have ink / touching support
How can you make websites in HTML 5 look really nice on Windows 7?
IE9 "does HTML5 really really well"
How do we integrate user experience and websites into windows 7?
Trying to make web feel more like native applications
Commited to W3C and standards process
Spent lots of energy to make sure that HTML5 looks great and works great.

Basically just 10 minutes of Ballmer going on about how cool IE9 is without actually talking about anything it really does (other than revolutionise the internet)

Dean Hachamovitch comes on stage

In the 6 weeks since IE9 beta was released, there have been 10 million downloads of the IE9 beta
He's going to talk about developer opportunities
Opens up a demo of a websites with images floating around
Can click on a floating image of radio DJs to see their playlists
“It doesn't really look like a website, it looks more like an application (because of the lack of IE9 chrome).”
He enables the website to have a HTML5 HD video playing in the background of the site without the site slowing down

Shows a new demo. Has a HD video of waves. With canvas drawing on top of it to draw a boat and bouys.
And of course it runs fast in IE9 but not in other browsers

Shows off pinning a website to the taskbar and how there are things in the jumplist
e.g. drags amazon.com down to the taskbar.
The taskbar icon is amazon
Now the IE9 chrome picks up the amazon colours
Drags a new website down there and there is nothing in the jumplist
There is nothing in there
So he opens up the HTML and shows what code you need to add in to enable jump lists.
Basically a bunch of <meta> tags
He puts windows media player style icons on the website aero preview to play/pause music on the site
All done with <meta> tags and javascript

IE9 preview 6 now available at www.ietestdrive.com
HTML5 has semantic markup
He shows a developer focused view. Even less chrome, just a menubar and the HTML window.
Shows demo of using HTML rotations to show flickr images as if they are on a board.
The website uses custom fonts

Ballmer back on stage

Going to talk about windows phone 7
Launched WP7 ~2weeks ago. On sales in many countries
Rather than just create another phone that "talks about the apps that you can get for the phone", the focused on the phone, the phone framework, giving the user access to lots of information, personal information.
He just announced that all attendees get a free phone
Showed the "really" advertisement that has been airing

Scott Guthrie comes on stage

Going to talk about WP7 apps
Gives you an "amazing" framework that you can use to make "amazing" applications
It has a marketplace so that you can upload/download apps

Introduces Brandon Watson

Shows bejewlled. The bejewlled team hadn't used C# at all. But they said that the WP7 version is the best version of bejewelled that they made so far
Jumps back into the xbox live hub, Just shows that you can see things
Shows the facebook app. It actually looks nice and clean and chunky
Shows the amazon kindle app for WP7!
The kindle app looks nice for pivoting through your books, recommended books, etc.





Photos from @LongZheng

Scott Gu back on stage

Going to create an app from scratch
Opens up the free VS2010 express edition for phone
Goes file -> new project. Creates a new panorama app.
Hits run and the 'app' is running in the emulator already
Wants to create a "data snacking" application. Wants to pull down some data from ebay and display hot deals.
Changes a panorama pivot to be called "hot deals


Pastes in some code for a new list box with a data template.
Announces that a new drop of the OData SDK will be available.
Ebay supports OData. So with 3 lines of code he can bring hot deals back from Ebay


He adds some more styling to the app and runs it. Looks shinier.


That is him done demoing all of the things available now

He's now going to talk about NEW things

They have some new profiling tools
Can run it and find and identify any bottlenecks in your application.
Opens up a new project, same "app", just with some bugs in it.
Opens the profiling tool, it adds the profiling hooks into it, and deploys the app to the phone
Scott uses the app for a bit then closes it
It shows the profiling stats of the application, the storyboard animations that were firining, the CPU fate, frame rate.
Can select a region to analyses further, and you can drill down
"there are 35 instances of this animation running. That’s probably it"
Can drill down further to see all the controls that are running
It highlights controls that are probably using too many resources
Can drill down into a specific frame and see why it took so long to render.


Ballmer back on stage

Phone has been launched, but we need your help developers. Need you to build more apps and put onto marketplace.
The france team had a competition to show off their WP7 apps.
Really just another 10 minutes of Ballmer 'talking' about WP7 without actually saying anything

Ballmer announce again that all attendees get a free phone & free registration into marketplace. They'll have a range of phone models they can choose from as their free phone.

Keynote Session 2

Bob Muglia talking about cloud computing
In 1992 they announced Windows NT.
Was a way for big companies to connect up their offices up, etc.
This was all a precusor to enabling the internet, etc.
Bring us to now. Cloud is the future

There are conversations around:
Infrastructure as a service
Platform as a service
Software as a service


Infrastructure as a service (app V, private clouds, etc.)
Platform as a service (Azure)
Software as a service (Office 365)

Focusing on 'Platform as a service'
Platform today
we focus on the VM instances, network, storage, etc. and then finally your app.
In platform as a service, you focus on the app. If you are focusing on the underlying VM, then you're not using PAAS, that is IAAS
All datacentres are different and there are inconsistencies. Platform as a service, you don't care about any of that, you can just focus on a standardised hardware / OS environment.
Hosting today need to plan for peak time. PAAS scale is available on demand
Apps used to focus on keeping the system from failing. And if it does fail then people are paged to come in and fix a database or disk that has corrupted.
PAAS is built to expect failure in instances or hardware, and to withstand failures instead.

Easier to just paste the slide


Azure was built to be the best PAAS
It is the OS for PAAS.
It is an "OS for cloud computing" because it abstracts away all the hardware, etc.
Windows NT was a OS for back then, to run on a single machine.
Azure is built to run over 1000s of computers, to manage a whole datacentre, or multiple datacentres


They give Azure lots of ways for it to connect into other services. They have "a coherent caching service" which is just a few lines of code. Can hook into auth from Active directory

With their new hosted services (SQL Azure, office 365, etc)
Rather than just putting these apps into their own VMs, etc.
They built it all on top of Azure so that it is a true multi tenant scaling application
Azure is a general purpose platform as a service. Can use whatever dev tools, platforms that you want (Ruby, PHP, etc)
It will run whatever you want to put on top of it, without worrying about individual servers

The rest of the keynote is "its all about the app"

Shows a pixar showreel


Chris ford comes on stage to talk about Renderman

Renderman is photo realistic, can be used with live action. Most movies that do CGI + livestream uses renderman.
For cinematic quality images. For broadcast, television, etc.

Why is the cloud important for renderman?
Toystory 3, at 20 frames/second
124,000 frames
290,000 frames for 3d
3 hours per frame
272 years to render a movie on a single CPU
So most big studios have a render farm.

But what about new medium sized companies. Rather than build up their own datacentre, they can use the cloud to just pay for the rendering time that they need.
Showing a proof of concept demo of what they built on top of Azure
Shows a rigging setup of Buzz lightyear.
All the models, scenes, etc. are packaged into a renderman .ribb file
He goes to a renderman website hosted on Azure
He logs into the service
Can see his other renderings that are still processing
Creates a new job
Uploads the ribb file
Because the .ribb file is SO large, when you upload v2 of the file, it will actually just compare the files and only upload the diffs.
It will then give an estimate of how much it will cost. If you need it quickly you can scale it up to cut rendering time but paying a premium, or set it at lower tier of rendering time, and it will be cheaper.
It will use that to calculate how many rendering units to use, hits start, and it will start the instances and stard redering.
Can see each of the frames appear as they are created, can watch it and if you see an error in a frame, you can stop the whole process, fix and upload the new file.

Going to talk about ways that you can
Move your app to the cloud
Enhance your app for the cloud
Transform your app

Announcing "VM machine role"
Can take your own Server 2008 R2 instances and upload it.
With 2008 R3 you'll be able to create images in the cloud

Server app virtualisation.
When you install an application, it keeps track of all files that are copied, all registry settings, etc. and packages them up
So that you can just xcopy onto another server.


  • Extra small instance ($0.05/hour)
  • Remote desktop!
  • Full IIS
  • Elevated privileges
  • Connect your existing corporate networking into your Azure virtual network

Mark Russinovich comes on stage

Shows MSDN's Channel 9
It used to be an app that ran on premise in a datacentre.
They redid it as an Azure service
Shows the new Azure dashboard
Has a lot more detailed information about your deployed instances, and MUCH easier to quickly view all the services.
If you have a problem with an instance, you can click on it, and click "connect" and it will use remote desktop to connect into it.

He connects and brings up process monitor to see WTF is going on with the server
Shows the "statup" folder
Can use that to install pre-reqs onto a new Azure instance when it boots up. Such as the Windows liveId provider that their site needed.

In visual studio, shows how the role config file has a <startup> section where you tell it what scripts it should run.
Can now specify sites to say what bindings you want, what http headers it uses, etc.
Import section. Can use Azure plugins (such as Remote Access)
A new video to be encoded is dumped into a network share, and a message is put into a queue.
Before they'd have to bring in extra PC at key events (like PDC, mix) to deal with the extra encoding time. But now they just burst up the number of Azure worker instances.
They used a hyperv vm, configured it, took a snapshot, and uploaded it
So that it could connect back to the Channel9 domain, they used the new private network feature to connect back to the private network.

This is done with the Windows Azure Connect plugin
The windows Azure connect plugin allowed him to just remote desktop directly into the instance from remote desktop because the Azure instance is "on" his network.

Bob back on stage

TFS on Azure
Talking about an internal project where they tried porting it
They started a few months ago.

Shows a new website hosted on Azure
Clicked create project on the site
Logged in with yahoo credentials
Done, that was it. Took about 20 seconds to sign up and create a new project.

Opened up Visual studio, a new authentication login came up.
Because TFS uses active directory for authentication, they had to make some changes
By using app fabric ACS they can use many federated auth providers (google, yahoo, LiveId, etc)
Then VS2010 is open and connected to the TFS instance and downloads source code.
He configured the project for Continuous Integration
He checked in some code and it kicked off the build. In the cloud


At the 4:30pm session, they are going to talk about how they moved it to Azure, what decisions they made for moving things to different sections 9blob storage, etc)

Almost 1,000 stored procedures
They took a single tenant application and hosted it in Azure. Kind of cool

Bob back on stage

New Access Control features, more providers supported like Facebook
App fabric caching service will be available this year


Don Box & Jonathan Carter come on stage

Going to take a current application and add cloud services to it
Taken a standard ASP.net MVC application
It uses web forms authentication

They have an Azure "VM instance" with full IIS
So they use VS2010 and just use web deploy to push straight out onto the server
It is a small PDC app, can search and it looks against the PDC OData
They are going to add the Access control service to support multiple federated providers, such as facebook
They enable it so that Microsoft corp people can use their auth details, OR facebook
They add a new claim so that if Microsoft corp people log in, they get a new claim called "softie"
It gives them an ACS url they can use (the STS provider)
Went into visual studio, right click "Add STS reference"
Now he builds and deploys the app
Instead of the standard forms app it now gives a new screen where they can choose corp auth or facebook, he logs on with facebook.
They hooked back into the Microsoft Exchange server, to show availability of the speakers when searched. It uses the service bus to do the round trips.
They want to use a new platform service to speed this up

Cache service
Opened up the web.config file
Under the data cache config section, they specified the address of where they'll be using it (is an azure url)
He does a few tweaks to the code to do the standard saving/retrieving from cache.
Do a cache.retrieve. If there isn't any data, then populate the cache. Otherwise just retrieve it.

He wants to add SQL Azure reporting
Clicks on the "report" tab of their website, and they get a 401 unauthorised exception
Goes into the web.config file. Looks at the authetication service and sees that only those logged in with the "softie" claim access it.
He opens up the standard Business studio, Report builder. He connects to the database, creates a report, then pushes it to the Sql azure database.
Back into VS2010, he dragged the report control on. Then gave the url of the azure report server & report name

Deploys the app directly to the azure IIS again,
Logs in again, this time with his Microsoft corp credentials. so the Microsoft internal Active Directory login page is shown

Bob back on stage

Windows Azure marketplace
They have the Windows Azure datamarket live today (Dallas)


Azure AppFabric

  • Composite app service & workflow
  • Composition model
  • Tools

Announcing today
Taking windows Azure app fabric and creating a composition model.
Can build the backbone of a service.

James conard on stage

Talking about app fabric composition model
In visual studio he has a new project type "Distributed cloud application"
Took the MVC app shown in the last demo
Drags it into the surface so he can see the MVC app
Drags on a database and connects to the sql Azure database


He wires the app and database up. That way he can specify any firewall rules, etc that are needed.


This time he drags on a caching object and authentication. This way he can get it to auto configure the asp.net application to use the distributed authentication from Azure Access Control.

He talks about the Azure workflow service which can scale out .net workflow foundation workflows.
He has a workflow already that takes in a request does some things to it, and then accepts it.


They don't want to do code gen behind the scenes with the tool. They just want to help mould your application
Some lines of code so that you can query the model and change things at runtime?


The composition app service acts as a controller.
He deploys to it and it configures the app caching, etc.
The composition app service monitors your deployments, he can see an alert.


It is watching the service
It knows a number of metrics because of the modeling
He configured it to be able to handle 5,000 page requests. They are running a load test.
They configure it to handle more, and it adds more instances to the role.

Conclusion app composition service can monitor and configure your application

Bob back on stage

Wrapping up
Can check out info on new technologies and what dates are around them at www.Microsoft.com/news

By David Burela