Microsoft Case Study

Microsoft have published the case study that they produced for the Skandia Cowes Week Regatta Manager Suite.

Since the Vista Launch is now over, I promise I’ll limit the self-congratulation for a few weeks, but only after dropping the text on my blog for posterity…

 

Skandia Cowes Week Regatta

Regatta Sets Optimal Courses for 1,000 Boats With Pioneering Use of Visual Technology

Skandia Cowes Week Regatta—one of the largest competitions of its type in the world—set its sailing courses using pins and string on a wall-mounted chart of the waters, as it had for most of its 180 years. But that method limited course setters’ ability to create the most accurate and enjoyable courses for participants. So, the regatta’s organizer became one of the first organizations anywhere to use a software solution created with Windows® Presentation Foundation, which helps developers build highly visual solutions quickly and effectively. With Presentation Foundation, software partner SiSoft created the solution’s rendering engine in days rather than the months that it took to create an earlier course-setting solution. The code base was cut by 36 percent while the solution became more useful and powerful, and participants are delighted by the courses that organizers can now create.

Situation

It’s one of the largest and longest-running international sailing regattas in the world. Held every year since 1826—with time off for two world wars—it’s been visited by royalty and world-famous personalities. It attracts more than 1,000 boats, 8,500 participants, and 10,000 spectators per day during its eight-day run.

“It” is the Skandia Cowes Week Regatta, held annually in the Solent channel off Cowes, the home of the Royal Yacht Squadron on the Isle of Wight in the United Kingdom.

What keeps participants returning year after year, according to Stuart Quarrie, Director of Cowes Combined Clubs, the event’s organizer, is the excitement of the “interesting and challenging sailing” for competitors, including more than 30 courses set in one of the busiest commercial stretches of water in the world.

Keeping Courses Challenging

As the regatta has grown, keeping those courses interesting and challenging—as well as safe—has been an increasing challenge for the event’s 14 course setters. Courses can’t have too many boats approaching the same locations at the same time. Managing the boats’ finishes—1,000 boats will arrive at two finish lines within a one-hour period—is another. Understanding the affect of tides and weather on the courses complicates matters further.

Making the courses interesting and challenging means ensuring that they aren’t too long for the smaller boats or too short for the larger boats. They must have legs of varying lengths and a mix of wind angles, so that participants sometimes must zigzag into the wind and sometimes can let the crosswind carry them along stretches that are just “fast and fun,” according to Quarrie. Ensuring that boats can complete the courses within the allotted times, rather than being stymied by unexpectedly light winds, is another concern.

By the late 1990s, the increasing numbers of participants, boats, courses, and classes at Skandia Cowes Week were making those challenges more difficult for the event’s course setters to meet. In 1997, several races had no finishes because of problems with the courses—and the following year, participation in some of the affected classes dropped by 33 percent. That’s when Quarrie was hired as director.

Using Pins and Strings

What he found was a method of course setting little changed from the regatta’s founding in 1826. The course setters—some of whom had been working in that capacity for 20 years—defined courses for the boats by setting pins and string on a paper chart of the waters. When a course didn’t look right, they unwound the string, pulled the pins, and tried again.

“The problem was that you could envisage only four or five bits of string on the board before it became totally unintelligible,” says Quarrie. “And you couldn’t then take off the first courses because they were under other layers of string. We were getting course lengths wrong because we couldn’t take tides properly into account, and we had lots of boats ending up at the same mark at the same time.

“What we were trying to do was too complicated for the human mind to grasp because of all the permutations involved—but it would have been simple for a computer,” says Quarrie.

Solution

Quarrie didn’t have far to go to find a computer-based solution for Skandia Cowes Week Regatta. He turned to his son-in-law, Simon Middlemiss, founder of software company SiSoft.

Middlemiss’s computerized course-setting solution replaces pins, string, and paper charts with an image of the course territory displayed on a pair of high-resolution 30-inch LCD wide-screen monitors—one for small-boat courses and the other for large-boat courses. The course setters design and manage their courses as part of a single, fluid process. By letting the mouse pointer rest on a buoy or mark icon, the course setters can see displays of the classes that are already scheduled to reach that point, when they’re scheduled to do so, and what the tide, wind, and other weather conditions are at that point. Clicking the buoy or mark selects it as part of the course that the setter is creating.

Course setters can choose to view any single course, an overlay of some of the courses, or all courses at once. In response to changing weather conditions or anticipated congestion of boats at a particular point, setters can change a course by dragging and dropping to a different buoy or mark. The user interface keeps each new course separated from the existing courses until the course setter chooses to accept the course and make it part of the race.

That feature allows course setters to experiment with new courses without changing variables for confirmed courses. It also allows course setters to consider 10 or more potential courses at a time before deciding on the one to adopt, without complicating the view of the confirmed courses. Once a course setter accepts a new course, he or she can replicate the course to other classes or days with a few mouse clicks.

Pioneering Use of Visual Technologies

Middlemiss created version 1.0 of the course-setting solution using Managed DirectX® extensions, which required him to code user interaction and data binding manually. This process took months. Then he and Quarrie agreed on the need for a new interface, one that would isolate new courses until they were confirmed by the course setter. Middlemiss needed a faster way to create the new solution.

Middlemiss then created one of the first solutions to go into production based on Windows® Presentation Foundation in Microsoft® .NET Framework version 3.0, an integral component of the Windows operating system that provides a programming model and runtime for Web services, Web applications, and smart client applications. Presentation Foundation is a new presentation subsystem that takes full advantage of modern graphics hardware and an extensible set of managed software classes to facilitate the development of highly visual applications—exactly what Quarrie and Middlemiss were seeking.

Windows Presentation Foundation was an essential ingredient in the solution, according to Middlemiss, given the need for a highly visual solution to make it easy for users with limited computer experience to manage the process of creating new courses. To work with Presentation Foundation, Middlemiss used the Windows Vista™ operating system and the Microsoft Visual Studio® 2005 development system, together with Microsoft Expression® Blend design software and Extensible Application Markup Language (XAML), which enable developers to use an XML-based model to declaratively specify user interface behavior, rather than having to code that behavior into the interface.

Replacing Paper Charts with Rich Graphics

In the solution’s presentation layer, what was once the old paper chart of the manual solution now is re-created as a collection of vector shapes rendered on NVIDIA GeForce 7800 GTX–based hardware for rich, responsive graphics at very high resolution.

The application layer includes a core set of libraries that handles the complex algorithms for calculating estimated times of arrival, positions, and conflicts. Middlemiss designed this core so it can run locally or through Web services—enabling the solution to be easily extended and scaled out. The application layer also includes a reporting engine, a system for transmitting courses to boats by short message service, and a system for transmitting course and estimated time of arrival data to the results center.

In the database layer, the Microsoft SQL Server™ 2005 database makes use of Common Language Runtime integration by deploying managed assemblies that process weather-forecast data.

The production environment consists of six computers:

Two workstations running the course-setter application

A laptop running the weather forecasting application

Three laptops for managing reports, communication with radio operators tracking boats during course runs, and an administrative console to the database

The production environment was mirrored in a test environment used to confirm the solution’s performance, and the entire solution was deployed using the ClickOnce deployment technology in the .NET Framework.

Benefits

The course-setting solution enabled Skandia Cowes Week Regatta organizers to meet their goal of creating more exciting and fun courses to boost participant satisfaction, and it also was created in a fraction of the time—and the size—of the previous, less powerful solution.

Cut Development Time from Months to Days

After developing version 1.0, Middlemiss needed a faster way to build its successor. He got it with the new technologies in Microsoft .NET Framework 3.0 and Windows Presentation Foundation, along with the XAML-based tool Expression Blend. Using these technologies, Middlemiss created the rendering engine—which had taken three months to develop the year before—in a weekend.

“I was amazed to see how much faster I could work with Windows Presentation Foundation to create a visually stunning application,” says Middlemiss. “Using XAML and Expression Blend, I put together an application that did what I wanted very quickly. I could take advantage of data binding, of new objects in.NET Framework 3.0.”

Middlemiss calls the data binding model in Windows Presentation Foundation the best capability of the new development environment. “There’s no business logic whatsoever in the user interface and no massaging of data in code either—it’s all done declaratively,” he says. “I could just assign a data source to a control and design the layout, without having to manage all the plumbing between the two.”

Separating the user interface and business logic meant that Middlemiss could concentrate on optimizing the business logic and then on optimizing the design, without having changes to one affect the other. For larger development teams, he notes, developers and designers can work simultaneously, without impinging on each others’ work.

Reduced Code Size 36 Percent While Boosting Performance

The same rapid application development capabilities in the new development technologies helped Middlemiss cut the code base for the solution by 36 percent—from 110,000 lines to 70,000 lines—while achieving a solution with a richer and more effective interface, more features, and greater performance.

“Basically, with Windows Presentation Foundation, Windows Vista, and Expression Blend, I got the rapid application development of Windows Forms combined with the application performance of DirectX,” says Middlemiss. “I would tell other developers that Windows Presentation Foundation and .NET Framework 3.0 can seriously reduce the amount of code that they have to manage on their user interfaces. And less code means the application is easier to manage.”

Using Windows Presentation Foundation reduced the line count for the CourseSetter portion of the solution by 50 percent.

Increases Participant Satisfaction

The goal of the course-setting solution is to create better courses that give participants the fun and excitement for which they come to Skandia Cowes Week Regatta. After running the 2006 regatta using the software, Quarrie says that’s what the solution delivers.

“What the course setters get from the technology is not an automated answer to where they should send people but feedback on how long a leg will take, what the wing angles will be, and what the interaction is with all the other classes, so that they can make the intelligent decisions,” says Quarrie.

“The result is better courses more quickly, because the course setters can check the feasibility of their design as they create it, rather than having to complete a design and then check it,” Quarrie adds. “They can take more variables into account than they otherwise could, and even can change a course that’s in progress to adjust for changes in wind or weather so we don’t leave boats stranded.”

The ability of the solution to predict the time that it would take to complete courses was so high that at least two predictions differed from actual measures by fewer than five seconds. “Over two hours and 20 miles, that isn’t bad,” says Middlemiss.

“This past year, the courses gave our 8,500 participants and tens of thousands of spectators what they wanted from the regatta,” says Quarrie. “The proof is in happy competitors—and we had many more happy competitors.”

Enables Easy Extensibility

While the course-setting solution was a great success in its debut at Skandia Cowes Week Regatta, Quarrie and Middlemiss already have their sights set on enhancements. The use of the .NET Framework and service-oriented architecture will make it easy for them to create new components and functionality, or to add best-of-breed components from third parties.

For example, because the solution is already able to track participants as well as set courses, Quarrie and Middlemiss envision using Global Positioning System (GPS) technology to boost the accuracy of that capability. A trial with 20 boats tracked through GPS devices was a success in 2006. The two men also envision presenting real-time tracking of races to spectators. The highly visual user interface could be projected on large screens for spectators at the regatta and presented live on the Internet for those who want to follow the regatta from anywhere in the world.

Reading Vista Launch Geek Dinner

I meant to post this ages ago, but what a fantastic end to a superb day!

At Bar Revoution

We started out at bar Revolution (near the station and right next to the building works) where John Donnelley kindly bought everyone a drink.  We hung around until Zi arrived and then headed off to Pizza Express (behind St Mary’s).Phil Stears, Zi Makki & Jon Harris

I was sitting with Phil Stears from Drive Works, John Donnelley, Ben Hall, and Jon Harris & Clare Parr from DPE.  With a couple of guys from Kent University opposite me (including Darren Straight a Microsoft Student Partner) along with Tim Leung from VBUG it was a pretty good turn out! 

Phil Stears, John Donnelly & Ben Hall Thankfully the conversation was once again the usual intense discussion I’ve come to expect from the diverse but always passionate people who attend these events.  We covered a huge range of topics but the one that sticks in my mind the most was about Microsoft’s plans for Expression Blend (which I plan to blog about later)Someone, Darren Straight & Tim Leung it was great to get an insight on it from an Expression DPE.  The best thing about these dinners is that pretty much everyone is as interested in you as they are in them, it’s a novel change to be able to just sit back, relax and listen to what everyone else is talking about without worrying about people fighting to get heard.

Muchos thanks to Zi Makki as usual and don’t forget that there’s another one after WebDD, which I’m looking forward to very much!

Ribbon intellisense and an Orcas designer

FYI, Mike Ormond commented that

[Y]ou can get intellisense in the Ribbon XML … To see how to do it, head over to my blog for the entry about tackling the assignments. Note as well that we should have a visual designer for the ribbon as part of the VS Orcas release so you wont have to hack the raw XML in the future!

Nice to know.

Vista/Office Launch – Day 2

Today was the second day of the Windows Vista and 2007 Microsoft Office System – to give it is’s ‘official’ name – launch.  The morning started out with registration for the delegates and a briefing for those helping, who were mostly Microsoft employees with the odd smattering of community members.  Familiar faces included Martin Parry, Daniel Moth, Paul Tallet, Jason Du Plessis and Mark Johnston.

We all then wandered down to the Chicago lecture halls where Mike Taulty gave an introduction to the morning Vista session.

Following that everyone wandered down to building 2 and into the restaurant where about 90 PC’s were laid out ready for the WPF coding challenge.  The idea was to create a WPF chat client that used a WCF service to handle login/logout, avatar provision and routing the chat messages.  We hit a strange issue that only appeared on some machines where a MessageSecurityException was throw.  As of now there still isn’t a fix for this, but watch Mike Ormond’s blog as when there is it will be posted on there.

After the Vista session ended we wandered back down to building 3 where lunch was laid on.  I caught up with Phillip Stears from Drive Works and Aiden Folkes from Contemi who had both been at the Geek Dinner the night before.  Ben Noble (an Imagine Cup finalist no less) popped his head in to chat as well, at which point we started lamenting the passing of the Managed Extensions to DirectX, something I hadn’t heard about.  All I have to say on the matter is I’m most miffed!

Also during lunch I made a point of talking to some of the delegates who looked less than likely as delegates at a hands-on coding day where the sole aim is to play with the latest technologies.  The standard response seemed to be “we just wanted to keep up with what’s new”, which is fair enough, I was just a little surprised at the level of knowledge at which they had come along, as it ranged from low to non-existent.  Whilst not a bad thing, in fact I think it’s excellent that people want to experiment with developing for Vista, definitely surprising.

After lunch Mike Ormond introduced the Office 2007 session, which was a nifty Excel add-in that made use of the same web service from before to show the location of logged in users via a Virtual Earth mash-up, this was all accessed by a custom ribbon.  All new stuff to me, so I was impressed!  I also met up with Tim Leung of VBUG who I had a long chat with about some of the launch events he’s got planned in the next couple of months, which is hopefully  something I can contribute to.

All round this was a great day with thanks needed to all involved, especially Mike Taulty and Mike Ormond.  If you missed out today I’d really recommend trying checking out the Vista/Office launch site and the official Microsoft UK Launch site, where you can both see the presentations from yesterday plus get hold of the hands-on coding challenges from today.

UK Launch Geek Dinner

Fantastic end to a superb day.

Photos from the evening below, more details after some sleep I think!

  

WCF is cool !

I have not seen that many WCF or Vista peer-to-peer applications, but they are both incredibly powerful it would seem. The distributed demo that Mike Taulty showed was very simple and yet showed off the power of using the foundation. If these WF & WCF demos are at the same level as the WPF ones (which I know were just the tip of the iceberg) then there is a fantastic amount of potential in them. The day’s over at Microsoft but we are now off to bar revolution for the start of the geek dinner!

Vista Track – Session 5 : Distributed Applications on Windows Vista

Mike Taulty is doing WCF! This is an interesting topic for me, so I will comment more later!

 

Technorati tags: ,

Vista Track – Session 4 : Windows Vista for Syndication and Workflow

Mike Ormond, the guy organising the msdn hands-on day tomorrow, is giving a really neat intro to WF. Workflow is something I don’t know that much about so it is good to hear some stuff that is new.

Vista Track – Session 3 : Security and Reliability with Windows Vista

Martin Parry discusses some excellent insights into UAC, a good explanation of the elevation model and the new reliability features in Vista. I know who to talk to about activeX controls in IE on Vista now! Great session.

Vista Track – Session 2 : Presentation Advances in Windows Vista

This session started with another partner video, this time featuring John Donnelly from IMG (who wasn’t expecting to see himself on the screen) and their football/golf application.  It continued with Daniel Moth presenting some of the less talked about features in Vista.

Basically take the new OS, add Visual Studio 2005, mix in some PInvoke and you have this presentation. We saw some excellent gadgets, glass and features of the new shell brought into your own applications along with the new task dialog and of course SideShow. This was an excellent session with some very cool Stuff!