logo

Free Videos

Français · Montreal, February 03, 2012 21:15 ET


The list of sessions for our Vanouver 2012 conference is completed at 95%


Agile

Adressing non-functional requirements
Mario Cardinal - AGI342 -> Evaluation Add to my schedule
A recurring challenge with agile practices is how to address non-functional requirements. A non-functional requirement specifies "how well" the "what" must behave. They focus on characteristics such as security, maintainability, availability and performance that typically cut across functional requirements. Improperly dealing with non-functional requirements leads to the source code difficult to evolve or software with an unpleasant execution quality. During this session, using Microsoft Team Foundation Server, you will learn how to specify these recurring concerns using self-contained constraints that can be satisfied iteration after iteration, in a finite period of time. Overall, you will acquire a different perspective on how to connect requirements and architecture using agile practices.

Agile Testing with Visual Studio 11
Charle Sterling - AGI321 -> Evaluation Add to my schedule
Too often traditional test tools simply do not work with the Agile practices todays development teams are using. In this session Charles Sterling will walk us through what is new in Testing Tools and more importantly how these next generation of test tools not only enable Agile development but reinforce it! Demo’s to include Visual Studio 11, Microsoft Test Manager vNext and the much easier to use features of the next version of Lab Management.

Behavior Driven Development with VS 2010
Charles Nurse - AGI401 -> Evaluation Add to my schedule
Behavior Driven Development with Visual Studio 2010, SpecFlow and WATIN

As professional Developers many of us have been using TDD (Test Driven Development) or at least we have been writing Unit Tests as part of our development process. But Unit Tests are only part of the story – they can test that a “Unit” of code executes as expected, but what about the feature being built. Behavior Driven Design (BDD) is a way to create focused tests through collaboration between product owners, developers, and testers. SpecFlow is a tool that employs a natural human language to create executable NUnit or MSTest tests.

Using DotNetNuke as an example, in this session, Charles Nurse, Senior Architect at DotNetNuke Corporation will show how to use SpecFlow to write and execute BDD tests within Visual Studio and how to seamlessly integrate BDD into your current specification gathering and programming processes. Depending on accepted usage pattern in your team BDD can act as a successor or supplement of Test Driven Development practice.

Scrum Under a Waterfall
Benjamin Day - AGI301 -> Evaluation Add to my schedule
It would be so easy if everyone at our companies just used Scrum -- or at least Agile. No one would lean on the team for dates and deadlines, and everyone would know that change is a good thing. It'd be one great big happy project management family. But let's face it -- an all-Agile organization isn't always possible. Maybe you have a Project Management Office (PMO). Maybe you work for a government contractor. Maybe you have regulatory requirements. Maybe you're the first Scrum/Agile project at your company. Maybe your company simply *likes* it this way. Whatever the reason, Agile teams frequently report into Waterfall organizations.

Your team thinks "backlog" and your bosses think "project plan." How do you make it work? How do you ensure communication and foster trust between the two groups? How do you bridge the project management impedance mismatch?

Enter Team Foundation Server and Microsoft Project Server. The chocolate and peanut butter of the project management world. These products integrate and replicate so that the Agile/Scrum and Waterfall groups can work with the tools they want to work with, play nice together, and get what they need to do their jobs.

In this session, we'll not only discuss how to use the TFS-to-Project Server integration but we'll also talk about strategies to improve communication between the two constituencies. Along the way we'll discuss some of the difficulties with making Scrum/Agile work in a Waterfall-centric organization and what you can do to minimize the headaches.

Top 10 Ways to Go from Good to Great Scrum Master
Benjamin Day - AGI333 -> Evaluation Add to my schedule
The Scrum Master role in an organization can be difficult. You live between a rock and a hard place. You're influential but you probably don't have any real power. You're not a project manager but you're on the hook for delivering. You're asked to promise dates when the best you can give is a forecast. You're long on responsibility and short on power. (Awesome.) But you do it because it's a great job, right? There's nothing like helping your team come together and deliver actual working software.

It takes a special kind of person to be Scrum Master -- Nerves of steel, a lot of finesse, and some ridiculously great people skills. It's a lot of knowing what to look for and knowing how to fix it. Even better if you can anticipate issues and get in front of them. What can you do to help keep everything on track? How do you have the difficult conversations when things are 'sub-optimal'? From that lazy guy on your team, to the Product Owner who doesn't like to estimate, to you losing your mind because you're always picking up the slack. How do you help your team to solve problems and really sing? You're a good Scrum Master. Come find out how to be great.

Why do we Suck at Estimating?
Dylan Smith - AGI345 -> Evaluation Add to my schedule
Why do we Suck at Estimating? (And how to get better)

Few things are dreaded more than estimating how long it will take to develop software. Why are we so terrible at this activity that is an important part of *every* project we work on? In this session we’ll examine what the common problems with estimation are, and take a look at some strategies we can use to be more effective at estimating. The techniques discussed will improve your ability to estimate in all types of projects (Agile, Waterfall, etc). At the end of the session you’ll be able to immediately apply some of these practices to improve your estimates today, and approach estimates in the future with a different mindset to ensure you are providing the business with the information it requires.


Software Architect

Branching, building and deploying like the pros
Etienne Tremblay - ARC349 -> Evaluation Add to my schedule
This session is about branching patterns for better software construction, versioning and deployment. You will learn about shared components, bugs and hotfixes and how to fit then in branching strategies. Building is also essential to good configuration management. During this session, we’ll see how to setup your build definitions to best effect with your branching strategy. Finally, deploying is the last piece of the software construction challenge and is at the heart of better testing. We will cover when and where to deploy for maximum efficiency!

Busy Developer's Guide to NoSQL
Ted Neward - ARC344 -> Evaluation Add to my schedule
With the introduction of CouchDB to the world, the world suddenly seemed to be alive with a whole slew of "alternative" approaches to data persistence, collectively called "NoSQL" and offering a "slightly different" to "radically different" view of data storage and retrieval. It’s left a few developers scratching their heads, trying to figure out when to use a NoSQL database instead of a regular database, much less which NoSQL database to use. In this session, we’ll examine the NoSQL ecosystem, look at the major players, how the compare and contrast, and what sort of architectural implications they have for software systems in general.

Comparing 3 mocking frameworks
Vincent Grondin - ARC316 -> Evaluation Add to my schedule
In this session we'll cover some of the basics of why we want to mock behaviors when unit testing our applications and why choosing the right tool for your job is important. We'll spend and equal amount of time looking at the API and mocking code using the open source project moq, Telerik's Justmock and TypeMock's Isolator. Then we'll dive a bit deeper into one of those 3, TypeMock.

Design by Contract (DbC)
Joel Hébert - ARC385 -> Evaluation Add to my schedule
The central idea of DbC is a metaphor on how elements of a software system collaborate with each other, on the basis of mutual obligations and benefits. The contract is the formalization of these obligations and benefits. One could summarize design by contract by the ""three questions"" that the designer must repeatedly ask: What does it expect? What does it guarantee? What does it maintain? This presentation will oversee how Visual Studio 2010 and its new feature of Code Contracts will allow you to use this defensive style of programming. Code Contracts provide a language-agnostic way to express coding assumptions in .NET programs. The contracts take the form of preconditions, postconditions, and object invariants. Contracts act as checked documentation of your external and internal APIs. The contracts are used to improve testing via runtime checking, enable static contract verification, and documentation generation.

Developer's Guide to Multiparadigmatic C# Design
Ted Neward - ARC328 -> Evaluation Add to my schedule

Busy .NET Developer's Guide to Multiparadigmatic Design in C#

C++ was widely denigrated as a "hopelessly complex" language with "way too many moving parts", and in truth, it was a language made up of three dominant paradigms: procedural, object-oriented, and meta-programmatic. C#, by contrast, has five dominant paradigms: procedural, object-oriented, meta-programmatic, functional and now dynamic. (Visual Basic doesn't fare much better on this score.) If we're to use these new multi-paradigm languages successfully, we'd better have a good idea of what the paradigms are, what a language paradigm is, and what the different paradigms are in the languages we know and love.

From RPC APIs for Web Services to Resource APIs
Rob Daigneau - ARC233 -> Evaluation Add to my schedule
RESTFul APIs have been lauded for many reasons. Not only are they generally easier to use, they also effectively decouple clients from the remote procedures used to handle client requests. This makes it easier to evolve the client and service at different rates. Unfortunately, developers who are comfortable with technologies and specifications (e.g. SOAP/WSDL) that encourage RPC APIs often have difficulty crossing the conceptual chasm that separates the two approaches.
In this session we’ll expand upon the patterns described in the book
Service Design Patterns. You’ll see how to convert a typical RPC API to a Resource API. We’ll explore how an Resource API contract is defined, how to manage one, and what client developers need to know about resource oriented contracts. We’ll also look at workflow and transactional scenarios. You’ll come to appreciate that Resource APIs can be used for much more than CRUD operations.

Intro to CQRS & Event Sourcing Distributed
Dylan Smith - ARC387 -> Evaluation Add to my schedule
Intro to CQRS & Event Sourcing Distributed Architecture Patterns

CQRS (Command Query Responsibility Segregation) and Event Sourcing are two distributed architecture patterns that when combined produce a very compelling architecture for a lot of problems that we as software developers face on a regular basis. Why do we insist on using the same data model to service both the transactional portion of our software and the queries/read portion? We typically only store the current state of our entities, what happens when the business wants to do some analysis on *why* the data is what it is? The CQRS + Event Sourcing patterns attempt to address these concerns and provide a number of other valuable benefits, both technical benefits, but more importantly business benefits that translate directly into business value for your organization.

Microsoft OData
Medhat Elmasry - ARC311 -> Evaluation Add to my schedule
In Visual Studio .NET 2010, OData is referred to as "WCF Data Services". This technology is used for CRUD operations against a data source and is not to be confused with "WCF Services". Medhat Elmasry talks about the OData standard and demonstrates its application on both server and client sides. Demos feature how to build a simple OData API from scratch, leveraging existing services such as Netflix, and consuming them on various platforms - including .NET, Excel, Android and Windows Phone 7.

Mocks, Stubs, and Dependency Injection, Oh My!
Philip Japikse - ARC357 -> Evaluation Add to my schedule
So you aren't writing any code without having tests in place…well, except for those tricky things like web services, database calls, and that section of code that no one wants to touch since it's a pile of spaghetti.  I start with a big ball of mud and refactor that using dependency injection, fakes, stubs, and mocks.  I will show you how to use Mocks and Stubs to isolate the system under test and write cleaner, more effective tests.

Service Design Patterns
Rob Daigneau - ARC373 -> Evaluation Add to my schedule
Web services have been put into practical use for many years. In this time developers and architects have been confronted with a long list of questions:
  • How do you create a web service API, what are the common web service API styles, and when should a particular style be used?
  • How can clients and services communicate, and what are the foundations for creating complex conversations in which multiple parties exchange data over extended periods of time?
  • What are the options for implementing web service logic, and when should a particular approach be used?
  • How can clients become less coupled to the underlying systems used by a web service?
  • How can information about a web service be discovered?
  • How can generic functions like authentication, validation, caching, and logging be supported on the client or service?
  • What changes to a web service cause clients to break?
  • What are the common ways to version a web service?
  • How can services be designed to support the continuing evolution of business logic without forcing clients to constantly upgrade?
Rob Daigneau will help you begin to answer these questions by providing an overview of common web service design patterns that leverage SOAP/ WSDL or follow the REST architectural style. This presentation is based on Rob's Service Design Patterns book in the Martin Fowler Signature Series.

Why Cloud Architecture is Different
Michael Stiefel - ARC388 -> Evaluation Add to my schedule
Architecting For Failure: Why Cloud Architecture is Different

While Cloud Computing offers enormous economic savings, and scalability for large amounts of users and data as well as over large geographic areas, you have to think differently about how to build these applications. Distributed applications are susceptible to a wide variety of outages because you cannot avoid the effects of computer networks and scarce computing resources. Traditional on-premise applications have always been subject to some of these problems, but cloud computing exposes them publically in ways that cannot be hidden. This talk will explain how to architect and build applications to be resilient under these conditions. It will also explain what aspects of traditional software architecture and design are the same, and which areas must evolve.


Cloud Computing

Deciding Between DB and Tables in the Cloud
Michael Stiefel - CLD387 -> Evaluation Add to my schedule
Deciding Between Relational Databases and Tables in the Cloud

If applications put data in a computing cloud, the requirements of consistency, availability, and partitioning can conflict. That means to have a highly available and scalable application you may have to give up classic ACID database transactions and relational database features such as foreign keys, joins, and stored procedures. How do you handle versioning of data and data latency? Using Microsoft’s Windows Azure Table Storage and SQL Azure as an example, this talk will describe these problems and talk about how to architect and design in this new world.

Managing, Debugging, and Monitoring Windows Azure
Guy Barrette - CLD334 -> Evaluation Add to my schedule
Monitoring and troubleshooting applications deployed to remote servers located in some distant data centers is a real challenge. In this presentation, you'll understand how Azure apps are packaged and configured. You'll see how you can deploy and manage your application using Visual Studio, PowerShell cmdlets and even Remote Desktop directly to the VMs. You'll also see how to configure the diagnostics monitor, store the counters to Azure Storage and how to retrieve the data remotely.

Migrating an ASP.NET Web Application to the Cloud
Shaun Walker - CLD301 -> Evaluation Add to my schedule
Many enterprise customers are looking for ways to leverage the “cloud”, including strategies for moving or migrating existing ASP.NET web applications to modern infrastructure. This session will outline the benefits of moving an ASP.NET web application to Windows Azure, various scenarios and pitfalls to be aware of, and key architectural considerations such as business drivers, cost/benefit analysis, application architecture, migration, performance/scalability, deployment and operations. We will then share a first-hand case study on how a Microsoft ISV successfully migrated a mature, real world ASP.NET web application to Windows Azure. Prepare to hear lessons learned, best practices, and practical experience which will equip you with the information you need to consider a migration to Windows Azure.

Windows Azure and SharePoint 2010: practical tips
Yaroslav Pentsarskyy - CLD322 -> Evaluation Add to my schedule
Windows Azure is a well established cloud computing platform. SharePoint 2010 is a leading collaboration set of tools. See how you can create hybrid applications with SharePoint Online and Windows Azure to cut implementation costs and decrease time to market. We'll take a look at several practical scenarios and how those can be implemented using Visual Studio 2010

Windows Azure Storage
Guy Barrette - CLD356 -> Evaluation Add to my schedule
Windows Azure Storage consists of a series of highly available and durable storage services (Table, BLOB, Queue and Azure Drive). In this presentation, you'll see the benefits of using the Azure Storage services, how Table Storage is different then relational data stores like SQL Server, how to store binary data in BLOBs and expose it thru the Windows Azure CDN (Content Delivery Network). If you want you Azure app to really scale, you really need to look at Azure Storage.

Your First Azure Application
Michael Stiefel - CLD244 -> Evaluation Add to my schedule
This talk explains the fundamentals of building, deploying, monitoring, and cost estimation for an Azure Web application


Rich Client

A Lap around Microsoft Silverlight 5
Medhat Elmasry - SLV224 -> Evaluation Add to my schedule
Come see what's new and exciting with Silverlight 5. Learn about features for business application development, visualization and casual gaming. In this demo- and code-focused developer session, you will learn about the major new features in Silverlight 5, and get you well on your way to being productive with the latest release of Silverlight.

Designing Software for Gesture-based Interfaces
Tim Huckaby - SLV321 -> Evaluation Add to my schedule
Designing Software for Gesture-based Interfaces: Kinect-A New Genre of UX

Industry Experts argue that we are already past the 1st phase of the Natural User Interface (NUI) revolution in Software usability – Multi-touch - and moving toward the 2nd phase: Gesture. With Kinect and a genuine authorized SDK, Microsoft has introduced gesture, motion and audio interface capability to NUI software applications. At $149.99, the Kinect is a consumer priced 3d camera that has significant cool factor and powerful potential for software; not just Xbox games. This session was designed to show you real and future application suites built on the gesture interface of Kinect and how they are built. This session also examines in great detail the usability of gesture based applications, it’s strength’s and weakness taken from real production software of today and what is being built for the future that uses / will use the Kinect for gesture interaction

Gesture Recognition with Kinect for Windows
Carl Franklin - SLV268 -> Evaluation Add to my schedule
Join Carl Franklin as he demonstrates his latest creation, GesturePak. GesturePak uses the Microsoft Kinect SDK to record body gestures and fires events in your code when it recognizes them. Carl will show you how easy it is to add gestures to your applications.

Improving Speech Recognition and Synthesis in .NET
Carl Franklin - SLV227 -> Evaluation Add to my schedule
For years Carl Franklin has worked on making speech an important part of computing - now you can benefit from his efforts! This session shows you how to make speech recognition more accurate using System.Speech.Recognition on .NET. Carl provides code for making grammar programming easier. You'll also get to check out the best speech synthesizer he's found on the market.

Moving your XAML applications to Metro
John Waters - SLV357 -> Evaluation Add to my schedule
In this session you will learn how to move your XAML based applications to the new Windows 8 Metro Style application platform. In particular, I will show the steps involved in moving the EventBoard Windows Phone 7 app to Metro. Topics involve code sharing, tips and tricks, differences, similarities, and unique capabilities of the metro platform, such as semantic zoom and charms (the search contract), as well as some of the built in WinRT controls like the GridView and JumpView. Attendees should be familiar with XAML, C# and MVVM. This will be a session packed full of useful tips and code!

Ten Must Have WPF Tools
Amir Ahani - SLV344 -> Evaluation Add to my schedule
In this talk, I will show how commercial tools enable developers to create WPF applications more efficiently. In addiiton, I will walk through some examples/tutorials about how to use the following tools:
  • 1) ZAM 3D
  • 2) Swift 3D
  • 3) isXPS
  • 4) UISpy
  • 5) WPF Performance Suite
  • 6) Snoop
  • 7) SWF2XAML
  • 8) Visio to XAML
  • 9) Adobe Illustrator to XAML
  • 10) Pistachio


Ruby

Do It Later with Resque & Delayed Job
Ben Scheirman - RUB387 -> Evaluation Add to my schedule
Ruby isn't exactly a fast language, so many systems are built where potentially lengthy operations are done in the background, keeping your application fast and responsive. In this session, we'll take a look at two frameworks for managing background queues and how they can be used effectively in Rails applications. If you've ever had to work with MSMQ, be prepared to be amazed.

Effective Rails Development with Vim
James Kovacs - RUB345 -> Evaluation Add to my schedule
Eschewing an integrated development environment (IDE) for a glorified and oft-maligned text editor such as Vim might seem like a strange choice to some, but Vim is a surprisingly powerful development environment for those who choose to learn its many features and functions. This session shows you how to set up an incredibly powerful and customizable Rails development environment using Vim, Janus, Growl, Bash, and a suite of other powerful tools.

Hosting and Deploying Ruby Applications
Charles Max Wood - RUB372 -> Evaluation Add to my schedule
Most systems administrators have to deal with deploying PHP or Java applications. When a Ruby application comes up, they tend to not know where to start. There are several tools and web servers out there that manage Ruby applications on servers and make them easy to deploy. In this presentation we'll dive into Capistrano, Rack, Phusion Passenger, Apache, Nginx, and Thin.

Making a Gem
Ben Scheirman - RUB387 -> Evaluation Add to my schedule
Take a look at any Rails application's Gemfile and you'll find a plethora of gems used to build it.

Gems are part of Ruby development, and it is very likely that some part of your application has already been written in a gem, waiting for you to use it. So how do you return the favor? This session will take a look at some functionality in a Rails app and extract it into a gem that other developers can use. Your road to open source fame starts here.

Rails + Cassandra: The NoSQL Scaling Revolution
Charles Max Wood - RUB362 -> Evaluation Add to my schedule
NoSQL is a buzzword usually associated with massive scaling and low data constraints. Ruby on Rails is made for rapid agile development. Together they provide a highly scalable application that is a pleasure to develop without taking a lot of time. Let's jump in and see how to tie the two together. We'll be using the Datastax Community setup for Cassandra and a simple Ruby on Rails application to deal with the data. The goal is to make Cassandra approachable. Note, there will be a lot of code shown in this presentation.

Rails in the Enterprise
Tamer Salama - RUB334 -> Evaluation Add to my schedule
Since its release in 2004, Ruby on Rails has been making the rounds in the startup community. From Twitter to Groupon, many have chosen the framework as their delivery mechanism. After the initial traction, some have moved to other tools, while others have invested more in the technology. Now, and with more than 8 years in the wild, does the framework have its place in the enterprise? In this session we'll explore the different aspects of the framework and its ecosystem that appeal to enterprise clients and line-of-business software.

Rails Primer: Build a Blog in 15 Minutes
Charles Max Wood - RUB367 -> Evaluation Add to my schedule
Ruby on Rails became popular in part due to videos being posted showing a blog being built in 15 minutes. This session will work through the technology in the video. We'll break down what you need to understand about Ruby on Rails to accomplish this feat and answer questions about environment setup, mindset, philosophy and community.

Ruby for Rails - What you should know
Tamer Salama - RUB333 -> Evaluation Add to my schedule
Ruby on Rails is a web application framework with Ruby as its underlying language. You've heard about the framework, would like to develop your first Rails pet project, but you're not sure how much Ruby you should know. How about the development environment, other tools and components? We'll cover the basic principles of the language, its syntax and features. As well as the different libraries and tools used to develop for Rails.

TDD/BDD with RSpec & Cucumber
James Kovacs - RUB356 -> Evaluation Add to my schedule
RSpec and Cucumber are the bread and butter of Ruby development. Learn how to write Cucumber features to drive out high level system behaviour. Then jump down into RSpec specifications to test-drive out the actual implementation of the system. See how outside-in development can improve your code and keep you focused on the problem at hand.

Using Cucumber and Capybara
Amir Barylko - RUB234 -> Evaluation Add to my schedule
Capybara is a ruby gem that works as a complement of cucumber and aims to simplify writing acceptance tests for any web application. Out of the box provides a DSL that makes writing steps for common functionality like following links, clicking buttons, etc. It provides different drivers that can be configured and even chose per feature or scenario basis to indicate how we want to run that case. It has built-in support rack-test, Webkit, Celerity and Selenium. Join me to see how easy is to setup capybara and how we can start using it in minutes.

Writing better domain oriented cucumber scenarios
Amir Barylko - RUB344 -> Evaluation Add to my schedule
Writing better domain oriented cucumber scenarios One of the goals of Cucumber is to connect with the project stakeholders and share a ""domain"" language that will define all your features and drive your BDD cycle. However, how good are our scenarios? Are they focusing on the right thing? Do your stakeholders find them dull or hard to read? Join me in a session where we explore different ways of writing scenarios, what it means to have a business DSL and a comparison of imperative and declarative styles. Changing and improving the way you write cucumber features is just one session away!


Win 8 WP7

Architecting Applications for Today and Tomorrow
Markus Egger - MOB387 -> Evaluation Add to my schedule
The Road to Windows 8: Architecting Applications for Today and Tomorrow

“The only constant is change”. This statement was never more applicable than it is for the world of technology and especially the current state of UI technologies. Windows 7, Web Application, Phone apps, slates, and now Windows 8 with its Desktop and Metro modes, are all viable contenders for the user’s attention and investments. New client-side technologies come and go at a very rapid pace, and support for all these technologies is expensive. So how do you cope with these demanding needs? It starts with solid architecture! The way you build your applications should support all these needs with changes being confined to the UI layer (a goal that becomes achievable through the principles of SOA). And even in the UI layer, you need to support as high a level of reuse across platforms and technologies as possible. This session provides a good overview of many of these principles and uses many real-world examples to illustrate the individual points.

Building re-usable components for Win 8,WP7,WPF
Colin Melia - MOB378 -> Evaluation Add to my schedule
Building re-usable components for Windows 8, Silverlight 5, WPF & Window Phone

Enterprises have invested in Silverlight & WPF for rich desktop-based applications. With Silverlight supported through to 2021, the introduction of Windows 8 metro-style apps and the use of Silverlight on Windows Phone, there's value in architecting applications in such a way that you don't have to rebuild core components for each platform. Join Microsoft Regional Director and Silverlight MVP, Colin Melia, for practical advice on how to use MVVM, the portable library and other strategies to build re-usable components.

Leveraging Natural User Interface Technology
Tim Huckaby - MOB243 -> Evaluation Add to my schedule
The Next Generation of Software: Leveraging Natural User Interface Technology to Deliver Improved User Experience

This demo focused session will take an impressive look at some of the best software being built today and into the immediate future that leverages the Natural User Interface (NUI). Multi-touch capable computing devices are becoming pervasive. The industry predicts all new computers on all major platforms will have multi-touch capability in the short term whether you like it or not / whether you use it or not. Multi-touch capability is now at consumer price point where it is insignificant to the cost of the computing device. Microsoft has “bet the farm” on touch capability with Windows 8. But, the existing .net stack has multi-touch implemented already. WPF and Surface have had a beautiful API for touch for a while. Silverlight 3.0 introduced Multi-Touch capability in its API. Improved in versions 4 & 5, but its API is rudimentary at best. Implementing multi-touch in a Silverlight application is typically very difficult. The Windows Phone 7 has a well implemented API for multi-touch in its Silverlight and XNA implementations. And then there’s the IOS stack… so much; so different; so confusing. This session will also update you on the types of multi-touch capable devices available right now, those coming in the immediate future, and delve into the software development platforms to support them. A new era of software has already commenced that is focused on the Natural User Experience. NUI applications manifest in “new” platforms and developer technologies such as Windows 8, Surface II, WinRT, HTML5, The Windows 7 Mobile phone and Silverlight and all can leverage innovative capabilities like Multi-touch, Cloud and Parallel computing.

Metro Development with C#/VB and XAML
Markus Egger - MOB278 -> Evaluation Add to my schedule
To Road to Windows 8: A Lap Around Windows 8 “Metro” Development with C#/VB and XAML

So you have heard all the news and rumors about developing Windows 8 “Metro” applications in the brand new environment based on WinRT, and you wonder how your current .NET skills will translate into this new paradigm? This session provides an overview of “Metro” development using tools and languages you know. In particular, this session shows how to use C# and VB in combination with XAML to build state of the art and highly polished real-world applications for Windows 8 “Metro”. The session also explores under-the-hood details, such as the nature of the individual components involved, and the repercussions of certain decisions, such as the choice of languages and UI technologies.

Practical Windows Phone + Windows Azure
Colin Melia - MOB387 -> Evaluation Add to my schedule
Windows Phone application uses are much more likely to keep engaging with an application if it makes use of updating Live Tiles. This is just one reason why you should consider a great cloud-platform for working with your Windows Phone application. In this session, Microsoft Regional Director and Silverlight MVP, Colin Melia, will give you actionable insights into great features of both platforms and how to bring them together.

The Road to Windows 8: A Developer’s Overview
Markus Egger - MOB221 -> Evaluation Add to my schedule
Windows 8 is on the horizon and it introduces a lot of changes, especially for developers. For the first time since the inception of .NET, Microsoft is fundamentally changing a development paradigm with the introduction of “Metro” applications. Developers will now build applications that are not built on top of .NET and the CLR, but applications are based on “WinRT”. Applications can be built in C, C++, C#, VB, and JavaScript, and the UI can be defined using XAML or HTML5. But what does all of that really mean? Will your current .NET development skills be of use at all? Will your existing code still work? How do you best protect your current investment both in software and in skills? What can you do today to make sure your investments are safe, even if you are not ready to dive into Windows 8 development quite yet? This session answers these questions and many more.


iPhone and iPad

Cross platform mobile architecture
John Waters - MOB253 -> Evaluation Add to my schedule
This session will pull heavily from real world enterprise solutions, showing you some of important design principles for cross platform moible solutions, particular on the communications and middle tier; I will cover topics such as authentication, notifications, REST APIs, OData, JSON and other serialization concerns.

Cross-Platform Mobile Development with the Xamarin
Bryan Costanich - MOB312 -> Evaluation Add to my schedule
Cross-Platform Mobile Development with the Xamarin Mobile Platform

Xamarin is the maker of MonoTouch and Mono for Android, which allow developers to write native applications for iOS and Android using C# and .NET. This allows major code sharing between three of the major mobile platforms (since Windows Phone 7 uses .NET out of the box). In this session we're going to take a quick look at the Xamarin Mobile Platform and then dig into the 2012 Mobile World Congress app, built by Xamarin, which shares nearly all of it's application code between the iPhone, iPad, Android, and Windows Phone 7 versions. In doing so, we'll cover architectural best practices as well as design considerations to make this possible. We'll also walk through the code to illustrate the architecture in implementation.

iOS Application Architecture
Kevin McNeish - MOB341 -> Evaluation Add to my schedule
This session is a must for learning best practices in creating iOS applications with architectures that are flexible, extensible, and maintainable. This lets you more easily create universal Apps as well as minimize code changes to your Apps as new versions of iOS are released!

Making iOS Games with Cocos2D
Ben Scheirman - MOB377 -> Evaluation Add to my schedule
Writing a game for iPhone is easier than you think. Using Cocos2d, a game development framework for Objective-C, we'll write a simple game. You'll learn how to load sprites, animate them efficiently, create effects, and process input.

The Business of Mobile Development
Bryan Costanich - MOB385 -> Evaluation Add to my schedule
Everyone has heard stories about developers making money with Apple's App Store, but that's just a small piece of the pie in the enormous mobile ecosystem. In this eye-opening session, we're going to first look at the overall market and importance of the mobile space, and then we're going to jump into market shares of the four big mobile platforms; iOS, Android, Windows Phone 7, and Blackberry. In doing so, we're going to examine the value chain and ecosystem that has built up around each of these platforms and see where money is being spent, and where money is to be made. This session offers some surprising insights and is a must for both existing mobile developers and people considering breaking into mobile development.

Working with Xcode
Kevin McNeish - MOB347 -> Evaluation Add to my schedule
This session teaches you the essentials for using the Xcode development environment for building iOS applications including writing code, laying out user interfaces and reacting to user input. You will also learn how the latest version of Xcode makes it VERY easy to create working prototypes for your clients with little or no code


Android

Create custom Views in Android
Martin Legris - MOB372 -> Evaluation Add to my schedule
Custom User Interface development, creating your own custom Views in Android

In this session I will demonstrate how to extend the View class, which is the base of all user interface components on Android. I will explain how it works, how to draw on the canvas, how to handle touch events and react to them and how to prepare your class to be used in the interface builder.

Introduction to Android Mobile Development
Wei-Meng Lee - MOB211 -> Evaluation Add to my schedule
If you have not started with Android development, this is now the best time! In this session, you will learn how to get started with Android development and how to test your Android applications on emulators as well as real devices.You will learn about the important concepts in Android - activities, intents, content providers, broadcast receivers, and more. This session is recommended for beginning developers who want to get their feet wet with Android development.

State Your Intentions
Jessica Kerr - MOB392 -> Evaluation Add to my schedule
That “Hello, World” Android application isn’t very interesting until it can look up a contact, take a picture, and put it on a map. The platform provides all this and more, but the details are buried in a mountain of Javadocs. All these tools are yours to command once you know Android’s message-passing language: Intents. In this session, we’ll explore what we can display, store, choose, launch, or dial. Code examples reveal the secret language of action, data, category, and trigger. Tell Android exactly what you want, and it will do some great work for you.

Tapping into Sensitivity
Martin Legris - MOB344 -> Evaluation Add to my schedule
Android devices connect to the world around them using sensors. While most devices have a GPS, Accelerometer, Proximity Sensor and a Magnetic Field Sensor, some devices are sensitive to atmospheric pressure, ambient light, relative humidity, ambient temperature and more. In this talk I will show how to interact with the most popular sensors, covering them in depth. I will also give hints on using the other sensors.

Where You Can Stick Your Data
Jessica Kerr - MOB355 -> Evaluation Add to my schedule
(This talk is a tag-team with Ted Neward.) Most useful applications require persistent storage. Most persistent storage requires a database. Android offers several local storage options: preferences, files, and a database. Which to choose? Here, Android developers who are past “Hello World” will get a head start for easy database interactions. We will create and use a schema in the supported SQLite database, check its contents in the debugger, and explore its limitations. After this session, budding Android developers will know what to do with all that mobile data.


Web Dev

.NET Key Internals (Geeky Stuff)
Kathleen Dollard - NET488 -> Evaluation Add to my schedule
This covers key aspects of the .NET framework including Async, MEF and little known Generics tricks

Getting Started with ASP.NET MVC With a Dash of 4
Philip Japikse - NET325 -> Evaluation Add to my schedule
There’s a lot of talk about ASP.NET MVC. What does it mean for you, the ASP.NET WebForms developer? Do you have to relearn the entire web development stack? Will it even run on IIS? I will show you, the ASP.NET WebForms developer, what you need to know to start using ASP.NET MVC, as well as make an informed decision between ASP.NET MVC and ASP.NET WebForms for your next project. At the time of this submission, MVC4 is a Developer Preview. How much MVC4 will make it into this talk will be based on it's maturity just prior to DevTeach.

Getting Started with Visual Studio LightSwitch
Beth Massi - NET237 -> Evaluation Add to my schedule
Visual Studio LightSwitch is the simplest way to build business applications for the desktop and cloud. LightSwitch simplifies the development process by letting you concentrate on the business logic, while LightSwitch handles the common tasks for you. In this demo-heavy session, you will see, end-to-end, how to build and deploy a data-centric business application using LightSwitch.

Introduction to Drawing with HTML5's
Thomas Lewis - NET265 -> Evaluation Add to my schedule
With the introduction of the "canvas" element into the wonderful and magical world of HTML5, we now have a drawing API that can help us create experiences that we imagine and make them real on the web. In this session you will see examples of fun "canvas" apps ranging from casual games to data visualization, learn the fundamentals of canvas and how to manipulate it with JavaScript, compare canvas with its cute sister "svg", learn the fundamentals of game and animation mechanics and find best practices and real-world lessons in canvas performance and how to stay away from anti-patterns.

LightSwitch Tips & Tricks
Beth Massi - NET355 -> Evaluation Add to my schedule
LightSwitch Tips & Tricks for Building Effective Business Applications

Come learn tips and tricks from the experts that you can use when building your screens and queries. See how you can add command bars to any control, create custom search screens, pass parameters into queries, and fine-tune the layout of your screens all within the LightSwitch development environment. Then see how you can take advantage of some of the best LightSwitch extensions available to enhance your applications beyond what's provided in the box.

Look Mom – NoSQL
Charles Nurse - NET304 -> Evaluation Add to my schedule
As Professional Developers most of us are familiar with working with common Relational Databases (RDMSs) like SQL Server, MySQL and Oracle. More recently, driven by the rise of big Social Networks like Facebook, Twitter and Linked-In, there has been a lot of interest in so-called NoSQL Databases. In this intermediate session, Charles Nurse, Senior Architect for DotNetNuke Corporation will introduce the concept of NoSQL Databases – what they are and why they are becoming more popular. We will develop a simple web application using ASP.NET MVC and RavenDB – a NoSQL database built in .NET, with LINQ support

SharePoint with the JSOM and jQuery
Rob Windsor - NET397 -> Evaluation Add to my schedule
SharePoint 2010 Client-Side Development with the JSOM and jQuery

If you've used SharePoint 2010 you know that there were significant changes to improve the user experience. Much of this was done by shifting code from the server-side to the client-side using technologies like JavaScript, AJAX, JSON, and Silverlight. End users are going to expect the same kind of user experience from the custom code that you write. Fortunately, Microsoft has given developers several new APIs they can use when doing client-side development: the JavaScript Client Object Model (JSOM), the Dialog Framework, and the REST API to name a few. In addition, there are hundreds of JavaScript libraries from the general Web development world available to you - the most prominent of these being jQuery. In this session we'll take a look at the world of SharePoint 2010 client-side development with a particular focus on the JSOM and jQuery.

Slice Development Time With ASP.NET MVC and Razor
Philip Japikse - NET247 -> Evaluation Add to my schedule
ASP.NET MVC3 introduced the Razor View Engine and a host of productivity improvements. I will show you how to speed development with HTML Helpers and Razor Templates to cut repetitive tasks to shreds.

View of the World Depends on the Glasses I Wear
Thomas Lewis - NET241 -> Evaluation Add to my schedule
There is no mobile Web, there is no desktop Web, and there is no tablet Web. We view the same Web just in different ways. So how do we do it? By getting rid of our fixed-width, device-specific approaches and use Responsive Web Design techniques. This session will focus on what is Responsive Web Design and how you can use its 3-pronged approach on your current apps today which will also adapt for new devices in the future.

Visual Studio Tips
Kathleen Dollard - NET257 -> Evaluation Add to my schedule
Being more efficient with Visual Studio

More details soon...

What's new in asp.net 4.5
Joel Hébert - NET323 -> Evaluation Add to my schedule
We will oversee the newly added elements that have been included in the asp.net 4.5 release. Taking the elements that are note worthy we shall demonstrate some implementations and demonstrate new techniques.


DBA/Admin

A Peek At SQL Server Execution Plans
Edwin Sarmiento - SQL349 -> Evaluation Add to my schedule
Data-driven applications are mostly created without scalability and performance in mind. As the data grows, performance issues arise. In this session, you will learn how SQL Server execution plans can be used to identify problems with the database design or the TSQL code, and address those problems giving you guidance on how to effectively improve your query performance.

Building a database for Analytics and Reporting
Richard Baumet - SQL288 -> Evaluation Add to my schedule
Dimensional Modeling - Building a database for Analytics and Reporting

Data grows constantly and history becomes harder to maintain. Wether you’re a Developer, DBA, or a BI techie, we eventually come to a realization that the environment can get too large and too complex. This session shows one popular approach to database design to allow for efficent storage and ease of querying for the business.

Parallel Task Scheduling with T-SQL
John Huang - SQL422 -> Evaluation Add to my schedule
It's not so difficult to write a stored procedure to execute number of tasks (SQL statements) sequentially and/or conditionally. However, things will become complex when you decide to run the code blocks within the procedure from different sessions concurrently with desired ordering and definable degrees of parallelism. In this session, we will discuss different ways to implement thread schedulers, semaphores, synchronizations, and process ordering as well as process monitoring and manipulation by using pure T-SQL.

SQL Server 2012 - Upgrading to AlwaysOn
Richard Baumet - SQL345 -> Evaluation Add to my schedule
This session will explore the brave new era in HA\DR with SQL Server AlwaysOn focusing on the upgrading of existing architecture and managing the mulitple replicas in your environment.

SQL Server Indexes Under-The-Hood
Edwin Sarmiento - SQL365 -> Evaluation Add to my schedule
Indexes allow SQL Server to access your data in the most efficient manner. Understanding how SQL Server indexes work under-the-hood will give you insights on how to design effective indexing strategies. In this session, you will learn what indexes are, how they work, basic indexing strategies and how query performance is affected by indexes.


SQL Server BI

(DQS) and Master Data Services in SQL Server 2012
Lynn Langit - SQL384 -> Evaluation Add to my schedule
Data Quality Services (DQS) and Master Data Services in SQL Server 2012

Learn how and when to use the new data management services offered in SQL Server 2012. DQS consists of both a client and server component. See how to use these tools and understand how DQS can integrate into Master Data (Management) Services as well.

.NET Key Internals (Geeky Stuff)
Todd McDermid - SQL422 -> Evaluation Add to my schedule
Certain duties that SSIS is used to carry out tend to be quite common - but not particularly straightforward. Jobs like processing the most recent file in a folder or inserting records from a source that don't exist in the destination and updating those that do. I'll describe business cases of very common patterns that arise on MSDN forums, with clear guidance on how to best use SSIS to deal with them.

Add It Up: Analysis Services Aggregations
Craig Utley - SQL373 -> Evaluation Add to my schedule
Are you looking to maximize the performance of your Analysis Services queries? This session explains what aggregations are and how they work. You'll learn how to create aggregations, tune the aggregations based on actual usage, and design custom aggregations when necessary. You'll discover the benefits and pitfalls of flexible aggregations, when to use rigid aggregations, and the meaning of lazy aggregation processing. You'll dive into queries to see if aggregations are being used and learn when aggregations aren't useful. If you thought aggregation design began and ended with the aggregation wizard, you owe it to yourself (and your cubes) to attend this session.

SSIS Configurations in SQL Server 2012
Jean-René Roy - SQL266 -> Evaluation Add to my schedule
Why SSIS Configurations are no longer Rocket science in SQL Server 2012

Before SQL Server 2012, SSIS configuration was a Rocket science. Since then Microsoft has been working nonstop to get this aspect of SSIS more simple. A large amount of enhances in SQL Server 2012 have been done to SSIS and if you know how difficult it was to configure SSIS packages in SQL Server 2008, you need to see this session. If you are new to SSIS you also need to see all enhances to SSIS and see how simple it is to use it.

Understanding Analysis Services in SQL Server 2012
Lynn Langit - SQL366 -> Evaluation Add to my schedule
Understanding and Working with Analysis Services in SQL Server 2012

A deep dive into using the new BI Semantic Model in Analysis Services using examples from mulitple industries - i.e. education, health care, open source gov't, etc… Here I will compare and contrast using the UDM to create OLAP cubes vs. using the new lightweight BISM.

Why Data Warehousing Projects Fail
Craig Utley - SQL245 -> Evaluation Add to my schedule
Why Data Warehousing Projects Fail (And What You Can Do About It)

Is your organization planning to build a data warehouse or BI solution? Data warehousing projects, like many large IT projects, have high failure rates. While the exact rate of failure for data warehousing projects is difficult to pin down, the causes of these failures fall into a small number of categories. It is obviously possible to successfully complete a data warehousing project and deliver value to the business. Craig Utley has seen Microsoft BI solutions in various states of completeness at over 30 companies worldwide and has seen some awesome successes and some spectacular failures. This session addresses the reasons data warehousing projects fail and how you can succeed in overcoming these obstacles.


SQL Dev

Dashboard Design: Making Reports Pop
Paul Turley - SQL325 -> Evaluation Add to my schedule
Create a highly-visual reporting experience in SharePoint with SQL Server Reporting Services integrated with SharePoint 2010. See how to use BI report design elements like sparklines, KPI indicators, gauges and maps to make important business information jump off the screen and get users’ attention. Create highly-interactive reports with dynamic drill-down, drill-through and super reports that morph as users interact with the data. Build an interactive dashboard using PerformancePoint/Insights and Reporting Services together.

Data Visualization Choices
Paul Turley - SQL223 -> Evaluation Add to my schedule
PowerPivot, PowerPoint, PerformancePoint, Excel and Power View - geez, Louise! How do I choose among all the reporting options? Get the scoop behind Reporting Services, PowerPivot, Tabular Semantic Models, Report Builder, BIDS, SharePoint, PerformancePoint, Excel, Excel Services and the new Power View reporting tool. Which one should I choose and can they work together? What’s the best choice now and later? Do I use data stored in a relational ODS, data warehouse, SSAS cubes or semantic model? We will distill all these choices to simple selection criteria and help to make sense of it all.

Entity Framework: DBA meets Developer
Llewellyn Falco - SQL323 -> Evaluation Add to my schedule
(w/ co-presenter Lynn Langit) Entity framework (an ORM) is fast becoming the way that developers are accessing SqlServer Databases. The meeting of the Developer mind and the DBA mind has long been “contentious”. In this session Ike will speak for the DBA’s and Llewellyn will speak for the Developers. Are there Best Practices they both can agree on? Maybe there are at least some Worst Practices they can both agree to avoid? Listen in and find out…

Query Tuning Tips for SQL Server
Itzik Ben-Gan - SQL361 -> Evaluation Add to my schedule
Writing T-SQL code that works correctly is not a trivial task. Writing T-SQL code that works correctly and efficiently is even less trivial of a task. This session will walk you through several query tuning tips that will help you write more efficient code. The session will cover tips related to SQL Server 2008 as well as tips related to new features in the next planned major release—SQL Server 2012.

T-SQL Bug or Feature?
Itzik Ben-Gan - SQL398 -> Evaluation Add to my schedule
Some behaviors in T-SQL are clear bugs and some are clear features. But being a relational language with many unique aspects compared to procedural languages, sometimes you may find yourself wondering whether a certain behavior is in fact a bug or a feature. This session covers various cases that aren’t clear cut and through those cases try to shed some light to help better understand some important principals of this unique language.