Why Web Performance Matters
Richard Campbell
Developers love to make their web applications go fast. But do you know the real benefit of high performance web sites? In a word, it's money. This session digs into the real revenue returns of high performance web applications with detailed data on how each second saved adds to the bottom line - more customers buy (reduced bounce rate) and they buy more. Learn how to evaluate the ROI of performance tuning to justify the cost of effort to the revenue increase. Beyond e-commerce, saving employees time on internal applications also has a real cost. Explore how to gather the real-world metric of high performance web sites to know what your web site earns, and how it can earn more!
Minimalist Software Development
Mark Rendle
Traditional .NET development frameworks tend to be big, and cover all possible eventualities, and for many projects this is A Good Thing.
But for just as many, if not more, projects, a full web stack like ASP.NET or a complex ORM like Entity Framework or NHibernate is just overkill, and adds unnecessary complexity. This is A Bad Thing.
In this talk, I'll look at some of the smaller, more focussed frameworks, libraries and tools, and how to use them to create applications with less code, less cruft and fewer maintenance headaches.
For web applications, we'll look at WebMatrix, with its page-oriented approach to web applications, and Nancy, .NET's answer to Ruby's ultra-lightweight Sinatra framework.
For data access, we'll look at Fluent NHibernate and Entity Framework Code-First, and my own Simple.Data library.
Using these tools, in one hour, we'll create two versions of the same site, and then marvel at how we probably couldn't have created it once using the more traditional stacks.
Building seriously scalable websites with ASP.NET with and without Windows
Chris Hay
We're all professionals right. It looks bad when our web servers crash and burn though. Save yourself a kicking from your boss by architecting a web infrastructure that seriously scales with very little dosh.
We'll use the same technologies that the big scaly websites (Twitter, Facebook, Quora, Friendfeed etc) use but we'll do it in combination with ASP.NET and C#.
For those of you scared of linux, we'll do it the equivalent architecture in Windows (just as scalable but costs a little more).
We'll look at stuff such as DNS Load Balancing, Software Load Balancers, Static Content Servers, Reverse Proxies, CDN's, Cloudy Stuff (EC2 or Azure or both) and more good stuff.
Steps to reduce the friction in ASP.NET MVC
Rob Ashton
ASP.NET MVC is great if you're building My First Web Application, but as the application grows, a lot of accidental complexity starts to arise as we attempt to extract common behaviour (validation, security, etc) into testable and re-usable components on top of the actual interesting behaviour that the application demands. This isn't made any easier by surprising breaking changes across different versions of ASP.NET MVC, poorly implemented decisions across the entire framework and a plethora of bad demo applications available from which we can only learn either bad practises or complex over-thinking. Let's say we have chosen to use the framework anyway - or somebody else has for us - what are the steps we can take to shield ourselves from creating something that is a pain in the rear end to work with, and keep ourselves in a place in which the vast majority of our code is testable, future-proof and capable of growing over time as the .NET environment continues to evolve around us. It isn't as bad a story as some of us make out, and it can actually be a joy to write code against - let's have an adventure as we try to avoid buzz words, fads and (too much) negativity as we look at some of the ways that we can achieve some sort of semi-nirvana on the ASP.NET MVC bandwagon.
The Missing Link - Pushing Through The Pain Of TDD
Richard Dalton
If you've ever watched a skilled Test Driven Developer in Full flow it's a thing to behold. They move swiftly and assuredly taking multiple tiny steps in places where you perhaps see only one large step, if you see any steps at all.
When the job is done you'll feel like it was all so simple and logical that surely you could have gotten there too, but for some reason it never seems to go to plan. You find yourself again wondering how many more books and articles you need to read, how many more presentations and Kata videos you need to sit through before it all "Clicks" for you.
If you are struggling to stick with TDD and push through the pain this is the session for you. If the gulf between where you are and where you want to be seems too wide then this session should give you some hope.
This is the missing link between novice and accomplished Test Driven Developer. It is a glimpse of what TDD looks like when things start falling into place, but when you are still nowhere near the level of the magicians.
You will see a worked example that is a little more complicated than the simplistic contrived examples you're used to. It will include Interfaces, Generics, Threading, Mocks and even Randomness.
Most importantly the process that produced the code will be laid bare, mistakes and all. You'll see where big steps were taken when smaller steps should have been. You'll see refactorings that were done too soon. You'll see code that was written before tests, and you'll see (or won't see) the tests that should have been written but weren't.
The Irony of TDD is that it promotes the idea of tiny steps, but for most of us learning to practice TDD our focus is on the magicians out on the horizon. This session will pull you back to reality and give some closer targets to aim at.
When you leave this sessions, the magicians will still be a long way out in front of you, but you'll be a couple of steps closer, and hopefully you'll have a renewed sense of optimism that you can get there.
Advanced Asp.Net Mvc 3
Chris Canal
In this session we will look at some of the new features of Mvc and how we can leverage these to ease development and some pitfalls some of the new Inversion of Control features introduce. We will cover the better client-side validation and AJAX helpers, the new extension points for server-side validation and filters.
SpecFlow - functional testing made easy
Paul Stack
More and more companies today are spending needless money on testing applications. Realistically, as developers, we can automate the majority of functional tests. SpecFlow is one way of automating these tests. In this session I will use use WatiN to help drive automation of business critical functions of your web based product. I'll touch on how SpecFlow helps us create tests that move us towards a BDD style of testing
What is SpecFlow
How does SpecFlow relate to BDD
The use of WatiN to test business critical functionality of a web product
Why automation may not always be the answer and how things can go wrong
Kanban? what is it and how can it help?
Nathan Gloyn
Agile, agile, agile, thats all you hear. You know about TDD, CI and all the other lovely technical practices but perhaps getting a form of agile working practice is proving a little more difficult.
Enter Kanban! A lightweight working practice to help you visualise and track your work.
Come to the session and I'll introduce you to Kanban, show you how it works, how you can use it and customize it to suit your own situation.
jQuery Templates: Now it's a doddle to simplify your ajax and render data client-side
George Adamson
Yes we've all done it: Use javascript to build some html and stuff it onto the page. It kinda works but preparing html like this is ugly and hard to maintain. jQuery Templates bring phenomenal simplicity and power to this process, making it a doddle to fetch a chunk of complex json from the server and render it as html. These html templates are sooo much easier to understand and maintain.
Some vague knowledge of jQuery and JS will help you in this session but you won't need to be a whizz.
We'll get started with a simple template and demonstrate some eye-popping* use cases.
(* subject to ambient air pressure and audience health)
The session will be in George's usual ridiculous comedy style of course :P
Parallel... Parallelise... Pallar... Doing stuff at the same time in .NET 4.0
Colin Mackay
.NET 4 has some very nifty features to aid the creation of multiple threads of operation. In this talk I'll be introducing those features and demonstrating what they can do for you, how you can benefit... And importantly, what you shouldn't do if you want to maintain your sanity. I'll also be doing my best work out how to correctly pronounce "parallelisation" by DDD South West.
This Android's Life
Ross Scott
This session will guide you through the Quick, Cheap and Expensive routes that can be taken when moving over to the Android platform from .Net.
First we will cover HTML5 and PhoneGap, which can achieve a massive amount on its own.
Then we will look at Java and Eclipse (don't worry I was scared to being with, but it's kind of ok).
Finally we will look at the expensive but seductive route of MonoDroid, with all its C# goodness.
There is nothing complicated here, so it will be easy to follow along and will mainly consist of real world code examples.
Rewriting software is the single worst mistake you can make - apparently
Phil Collins
Joel Spolsky once said that rewriting software from scratch is the single worst strategic mistake a software development company can ever make.[1] We all know of the Netscape story and the never-released v5.0. So as a developer how do you react when you're faced with the fact that there is little other choice than do exactly what you're told you should never do.
During this session I will describe how as a team we are managing to beat the odds and rewrite our main flagship product from a legacy platform into VB.net; as well as describing the decisions behind the choice of language, the choice of development methodology, how we built the project plan, how we learnt from our mistakes and our successes, how working with Bournemouth University and their study of our rewrite has helped us, and whether or not we still think it's something you should never do.
This presentation was first run at DDD9. This version of the presentation now includes new slides on testing and process/structure changes as per the feedback from DDD9. Any feedback from the presentation at DDDScot will also be taken into account and the presentation improved.
[1] Joel Spolsky, Things You Should Never Do, Part I
http://www.joelonsoftware.com/articles/fog0000000069.html
NuGet - sweet but not edible
Chris Alcock
In this session we will explore the use of the NuGet Package Management solution from the basics of obtaining and using it to manage your projects library dependencies, through to more advanced uses including packaging your own code into NuGet packages and explore the options for the creation of local / private NuGet repositories.
Silverlight Beyond the Browser
Richard Costall
In this session we look at Silverlight's ability to be installed on the local users machine, and examine connectivity and updates. We'll then be stepping outside of the browsers Sandbox and into elevated trust mode, with file access, custom chrome and the notorious COM Interop, and any other bits that happen to come along....
Coding for PowerShell
Jimmy Skowronski
PowerShell, the new DOS on steroids offers amazing functionality that makes if powerful yet quite complex tool for everyone, especially admins. You may not know how to use PowerShell, or you may simply not to care but rest assured admins would use it.
This session is not about using PowerShell, it’s about making it better for others. This session will show you how to extend it and add your own commands, written in C#. Expect a lot of code and no slides.
Every Byte Counts - saving bandwidth with protobuf
Marc Gravell
Whether you are sending data between your own servers, communicating with distributed clients on mobile connections, or using serialized state / caching - your app can benefit from lower bandwidth and CPU costs.
Here we take a look at how protobuf-net (a .NET implementation of google's protobuf technology) can be used with your existing or new applications, while also offering true version-tolerance and interoperability.
Intro to Windows Workflow Foundation 4
John McLoughlin
What is the Windows Workflow Foundation? What are Activities? These are just some of the questions that will be covered in this introduction to Workflow. We’re take a step by step walkthrough of the basic features of Workflow and emerge the other side ready to tackle problems in our applications using Workflow (where appropriate obviously ;) ).
Computer, earl grey tea, hot
John Price
Ok, so this is a little more difficult to arrange with home automation, but controlling lights, heating, curtains and just about every other device in your house just by talking to it, is actually Science Fact. Take a tour around our automated house and see whats possible with a little effort.
Developing Windows Phone 7 Applications Using Silverlight
Kris Athi
This session will look at using Silverlight as your weapon of choice to target the Windows Phone 7 platform. This session will focus more on the platform specifics including:
• Input & Navigation
• Connected Apps (WCF)
• Push Notifications
• Launchers, Choosers
We will also take a look at how to architect an application using the MVVM design pattern.
Delivering High Quality Live and On-Demand Video to Multiple Devices
Andrew Westgarth
IIS Media Services 4 provides a platform on which to build applications to deliver high quality live or on-demand video content to viewers regardless of the quality of their device and network connection.
In this session we'll look at the problems which streaming media faces and we'll look at how we can make use of IIS Adaptive and Smooth Streaming to provide a great streaming experience to your consumers, be it through a web based Silverlight Player, Windows Phone 7 application and even an iPhone.