Tristan Smith: Tech Ed 2008 Day 4

DAT318 Microsoft SQL Server: Data-Driven Applications from Device to Cloud

The cloud version of SQL Server, has some strong focuses.
- To be able to securely access data on any device from anywhere.
- To do so with high reliability, availability and supportability.

It has automatic failover, by keeping multiple copies of the data, auto switching and spinning up replacement backups.
You can access SQL Services via HTTP, SOAP, REST, Atom using URIs.
There's no schema enforced as metadata is kept with the data so that sending your customer data isn't meaningless outside of the database. You can also return any content you're storing by URI, which for a blob returns the image content for that Id for example.

Microsoft Sync Framework, allows offline and cached mode capabilities for your application so you can reliably cope with occasionally connected scenarios. Sync Framework is being used as the lubricant in writing software plus services.

GEN01 Green computing through sharing reducing both cost and carbon

Pat Helland talked about how since 2001 the cost of hardware, infrastructure etc used in data centers has been outstripped by the cost of power.
He talked about how the current sharing models mean you end up with under utilisation of servers and over provision of service. If people were able to share their servers in a way that didn't mean someone would lose out, it'd make huge savings in power. Where individual ownership means you don't benefit from economies of scale, shared ownership means people always try to get 'Their share' which can lead to over utilisation.

The cloud computing model that Microsoft are using gives a solution to this, they can span the application use over multiple boxes so you get your turn at the all you can eat buffet without high cost and the other penalties of small use.

He showed a video of the Microsoft datacenter where they have sealed containers with tens of thousands of server boxes with only network, power and cooling going into them. This allows the economies of scale and reduced power usage scenarios he was talking about.

WUX310 Beauty and the Geeks: Developer-Designer Workflow

As we have a design team in house, this one was a good session to see how other people work with this dynamic.
The developer showed how by using a data and behaviour model disconnected from the design, the designer was able to work easily with existing tools.

States that you want to expose in Blend for the designer to design for can be specified in the code for the custom control. This allows the designer to just care about the 'SomeCrazyEvent' etc.
You can expose Dependency Properties to Blend by declaring them in the code so the designers can work against the same properties and events as the developers.

Using this model allows you to make a clean separation as well with the model able to take care of updating internal collections, updating properties and informing the Silverlight of the need to update itself.

They definitely gave us some better processes we can put into effect with our designer team. A valuable session.

ARC309 Using WPF for Good and not Evil

This was a really entertaining session, the guys had seen David Platt before earlier in the week and recommended his sessions. In this one he talked about how users really don't care about the pretty pretty stuff, not that they can't appreciate it when done well, just that you really have to think from their point of view. Typically (and unintentionally) interfaces are designed as you'd want to use them, the thing is, you are not your users.

The speaker showed how the sample applicaton for WPF is a good example of both shockingly bad and awesomely good interface design. It features a family tree which is shown as little people, a background vertical gradient dark at the top to light at the bottom has meaning. The darker it is, the further back in history it is, the people are outlines if dead. The coolness of WPF is that it's actually a treeview control (like the FileSystem view of Folders and files). In this instance, it's really well used as a treeview has parent, leaf and child nodes, just like a family has parents, siblings and children. By styling it up nicely, translating each node to a person in the tree, it has a really good user experience.
In the same breath the detail view has a horizontal gradient, dark to light which with text on it actually makes your eyes fight to focus on the text, it's enough to make you physically ill.

The speaker also talked about how the best applications are the ones you never notice, users don't actually want to spend time in your applications. The quicker you can get them to the things they want to do with your application and get them back to enjoying real life, the better. Pretty graphics are just sugar coating, nice, providing you get them out as quick as you can by making the application as usable as possible.