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.

Advertisements

IRhetoric – Karsten Januszewski : Databinding In Expression Blend

Karsten’s got a cool screencast on how to wire up UI elements using Blend.

Video downloads (for UK developer launch)

Scoble asks ‘Do A-list bloggers have a responsibility to link to others?’

It’s hard enough to find good, new, and interesting content amongst the plethora of blogs that exist as it is, so the short answer is ‘No’.  A-listers have a responsibility to link to blogs that are worth reading independent of there age or size, but then that goes for everyone that blogs, and I would say is also a given.  If I link to someone it’s because I think what they’ve said is interesting, helpful or important, not only to me, but to those who might read my blog and I would hope that people only link to me when I am saying something that is of equally merit.

 I’ve been blogging on and off for about 3 years now but have only really started to get comments and links in the last 8-12 months, mostly because it took that long to establish my ‘blogging voice’.  As I still don’t think I’ve reached my full potential I would expect the number of readers picked up because of a link from Robert to be much lower than it would be, say, 12 months from now.  So what I’m saying is, whilst the quality and interest of one post will play a big factor in whether a site receives a link, ‘blog maturity’ should play a big part in whether one actively seeks those links in the first place.

In short, whilst I think I’ve done some really cool stuff and I’d love to share it with the world, I wouldn’t expect a link to my blog since I’m still quite new, my content is of limited appeal outside the small community I’m involved in and I think my ‘blogging voice’ still needs to grow.  Even when it has, I still wouldn’t expect a link from an A-list blog unless it warranted it.

Technorati tags:

Digital divide

Like all IT professionals, when you head back home you end up fixing your parent’s computers for them; in my case I don’t much mind it as I’m effectively my Dad’s IT manager for his one man pharmacuticals consulting company. In return for me keeping his email flowing I get to play with hardware and software that’s only slightly inappropriate for his outfit. For example he’s got a Dell server with SBS 2003 installed. Now perhaps that is a little overkill for him, but he likes his Outlook, loves OWA and thinks Sharepoint is amazing, so I’ll not feel too guilty.

I am actually just watching him upgrade from the Beta of Windows Live OneCare 1.5 to the release version as well as walking him through the basics of using Windows Mobile as I’ve just given him my old XDA Exec. If only everyone was as easily impressed by what you can do with modern communications methods things would be peachy.

Open Source Nightmare

I’ve been contemplating trying to get people blogging internally at work, but before I even broach the subject, I wanted to be sure that setting up a multi user, easily maintainable and cheap solution was available.

My choice? Well WordPress obviously! I am really impressed with the platform, it’s slick, easily skinable, it works with Windows Live Writer and the stats pages are better than Windows Live Spaces which my previous blog was on.  I figured since WordPress was so good, it would be worth it to try and install MySQL & PHP on my server.

I gave up after 5 hours.

The latest PHP doesn’t appear to support anything above IIS4, when you eventually do get it installed on IIS, there’s a set of other stuff you have to do to get PHP recognized on IIS (ok so not that much), and then it turns out that WordPress only works on Windows with MySQL 4.0, which you can’t get anymore.  Now I don’t think I’m being too modest when I say I’m pretty competent in this area, and maybe I’m spoiled with the ease of using Microsoft products, but it strikes me as just being too hard!

At this point I went to microsoft.com/sharepoint, downloaded the installer, ran it, click, click, click…stuck the latest episode of BSG on and 40 minutes later I’ve got a portal I can add blogs to.

Total cost of ownership, really is a compelling argument for using Microsoft technologies.

Posted in IT. 1 Comment »

On Blend and MSDN

Who’s seen these slides before?

I’d think anyone that’s been to a Microsoft presentation featuring WPF would have.  I’ve seen it at least 5 times in the last year or so.

So why am I sticking them on my blog?  Well look at them, what are they saying? I think they are meant to represent the journey from the creation of an ‘old school’ UI – where the designer is given carte blanche and the developer makes do with approximation because there just isn’t enough time – to the future of UI where developer and designer work in unison, using common project files and tools that are interoperable.

I personally think this is an excellent idea and I’ve had the privilege of being part of a team where the designers, UX guys and developers working so closely and so well together were the sole reason the project was completed on time and was as great a product as it was.  I think that Microsoft getting the whole ‘software lifecycle’ thing is great too and that the ‘designer <-> XAML <-> developer’ paradigm is just an extension of the Visual Studio 2005/Team Suite/Team Foundation Server concept that they’ve been heavily pushing for the last year or so.

This is why, during the geek dinner, whilst I was talking to Jon Harris and Phillip Stears about Microsoft’s decision not to include the Expression suite in any of the MSDN subscription packages, I was a little taken aback.  The decision kind of makes sense when you think that MSDN is meant for developers and the Expression suite is about designers, but given what I’ve just said, and having looked again at the slide deck above it really, really, doesn’t.

As anyone who has done a large project using WPF will tell you; as a developer you cannot make do with just Visual Studio and ‘Cider’.  The tool just isn’t mature enough yet, and even when it’s released (around August) I still don’t think it will cut it for anything sizeable.  I firmly believe that just as designers will need Expression Design (or Photoshop or Fireworks) alongside Expression Blend to do their best job, developers will need Expression Blend alongside Visual Studio so they can do their best job. 

Basically what I’m saying is that Expression Blend is essential to WPF development and if to get it there’s an extra $400 per head on top of the already expensive MSDN subscription costs, well, it’s going to put a lot of small businesses off.

The simple fact of the matter is that to ensure the wider uptake of WPF as a serious development technology the Expression suite somehow needs to be ‘blended’ into MSDN.

Posted in IT, WPF. 3 Comments »