Patrick Verbruggen's Blog

Built To Change

Browsing Posts published in October, 2008

Workflow Foundation – aka WF or “dub-eff” as most of the Microsofties seem to call it, has made great strides since it’s first incarnation. WF in .NET 3.5 already provided a really broad and complete platform for long-running applications that orchestrate work.

What was shown today about WF4.0 reperesents another major leap forward.

The product has been overhauled completely. A new designer (built using WPF!), lots of new capabilities, a major performance leap, and lots of cures for some of the old pains. Some of my colleagues who have been using WF extensively in some of the work we’ve done know these all too well :-)

Look forward to significant improvements in performance, functionality, design, control, extensibility and capability.

And here’s a good quote for those (including myself) that were questioning if Dublin + WCF4.0 + WF4.0 would replace BizTalk:

  • Dublin + WCF4.0 + WF4.0 is about services
  • BizTalk is about integration

I tend to agree after what I’ve seen and heard over the last few days.

Start lobbying your boss now, because there will be a new PDC in 2009!

No new announcements today. Instead at today’s keynote, Rick Rashid came to sing the virtues of Microsoft Research. He told the story about how Microsoft Research came to be, how they operate, and how they do what they do: fundamental computer sience. It was interesting to hear how he described one of the key goals of Microsoft Research: to ensure that Microsoft and Microsoft’s products have a future.

Of course: an audience consisting of 6000 geeks means that he had to show some stuff, and he did. We got to see an interesting sample of the kinds of things they are working on. We saw a system for sensing temperature over time in buildings, to help regulate heating and cooling and saving energy. We saw a visual programming system called BoKu, aimed at teaching kids the concepts of programming.

Also demo-ed was something very cool you can use today: Wordwide Telescope: it’ll turn your PC into a virtual telescope allowing you to interactively browse through images from a lot of telescopes, including the Hubble. If you’re even in the slightest bit interested in space and astronomy, you should have this. If you have kids, this should be mandatory…

The coolest thing that was shown was something called Second Light: think of it as a Microsoft Surface system, but in addition it has the ability to project other images on a second surface through the first one. So there was an image on the surface, but by holding a sheet of semi-transparent paper above the surface, a separate image was projected on that which was not visible on the first. It’s a bit hard to describe until you see it, but it sure was spectacular.

All cool stuff, and an interesting type of keynote for a developer conference.

The hotel I’m staying at here in L.A. (the Roosevelt Hollywood) is great. Located directly on Hollywood Boulevard, the view from my room includes the Chinese Theater, the Kodak Theatre (site of the Oscars) and the Hollywood Walk of Fame. Too bad it’s also quite far from the L.A. Convention Centre: it takes a 45 minute bus ride through dense traffic each morning to get there. Unfortunately, all hotels closer to the LACC were booked.

The hotel has free WiFi. It’s a bit slow, but it works, except for one extremely annoying thing: I can’t access a single Google site. No search, no Google Reader, no Google Docs, no Picasa, no Google Maps: nothing. It is as if these sites just don’t exist. The Live Search site on the contrary, is blindingly fast :-)

The Roosevelt Hollywood is one of the official Microsoft PDC hotels. Now if I was a bit paranoid, I would certainly start to suspect something :-)

Oh BTW: my room is on the 9th floor, which is said to be haunted by the gost of Montgomery Clift. I haven’t seen him yet…

Copied below ad verbatim for my colleagues:

- Start  Of Message —————-

During the past decade, a dramatic transformation in the world of information technology has been taking shape. It’s a transformation that will change the way we experience the world and share our experiences with others. It’s a transformation in which the barriers between technologies will fall away so we can connect to people and information no matter where we are. It’s a transformation where new innovations will shorten the path from inspiration to accomplishment.

Many of the components of this transformation are already in place. Some have received a great deal of attention. “Cloud computing” that connects people to vast amounts of storage and computing power in massive datacenters is one example. Social networking sites that have changed the way people connect with family and friends is another.

Other components are so much a part of the inevitable march of progress that we take them for granted as soon as we start to use them: cell phones that double as digital cameras, large flat-screen PC monitors and HD TV screens, and hands-free digital car entertainment and navigation systems, to name just a few.

What’s missing is the ability to connect these components in a seamless continuum of information, communication, and computing that isn’t bounded by device or location. Today, some things that our intuition says should be simple still remain difficult, if not impossible. Why can’t we easily access the documents we create at work on our home PCs? Why isn’t all of the information that customers share with us available instantly in a single application? Why can’t we create calendars that automatically merge our schedules at work and home?

This week at the Professional Developers Conference (PDC) in Los Angeles, we shared news with software developers about a new set of platform technologies that will help transcend these limits. Because you are a subscriber to Executive Emails from Microsoft, I wanted to share my thoughts about the impact that these technologies will have as developers begin to use them to create a new generation of experiences that extend uninterrupted from the desktop to the mobile phone, media player, car, and beyond-to places where we never thought information and communications would be available to us.

A New Platform for Cloud Computing

At PDC, we announced the availability of an early preview release of a new technology called Windows Azure. Windows Azure will enable developers to build applications that extend from the cloud to the enterprise datacenter and span the PC, the Web, and the mobile phone. For the first time, we shared pre-beta code for Windows 7 and for Windows Server 2008 R2. Windows 7, which is the next version of the Windows desktop operating system, will take advantage of software and hardware advances to help eliminate the boundaries between information, people, and devices.

We also previewed Office Web applications, which are light-weight versions of Word, Excel, PowerPoint, and OneNote that are designed to be accessed through a browser. Office Web applications will be part of the next version of Office and will enable people to view, edit, and share information and collaborate on documents on the desktop, the phone, and in a Web browser in a way that is consistent and familiar.

Windows Azure is part of the Azure Services Platform, a comprehensive set of storage, computing, and networking infrastructure services that reside in Microsoft’s network of datacenters. Using the Azure Services Platform, developers will be able to build applications that run in the cloud and extend existing applications to take advantage of cloud-based capabilities. The Azure Services Platform provides the foundation for business and consumer applications that deliver a consistent way for people to store and share information easily and securely in the cloud, and access it on any device from any location.

Windows Azure is not software that companies will run on their own servers. It’s something new: a service that runs in Microsoft’s growing network of datacenters and provides the platform that helps companies respond to the realities of today’s business environment, and tomorrow’s. Windows Azure technologies are already finding their way into products such as Windows Server 2008 and System Center Virtual Machine Manager, enabling organizations and Microsoft partners to create their own cloud infrastructure.

Windows Azure will enable organizations to respond to realities such as the need to use the Web to provide customers with comprehensive information and to interact with an audience that has the potential to expand exponentially overnight; to integrate operations with partners-and sometimes even competitors-to meet customer needs; to add new capabilities quickly to respond to new opportunities; and to enable employees to work efficiently and effectively no matter where they are. These realities apply not just to businesses, but to organizations of all kinds: schools, governments, community groups, and more.

Traditional approaches to building technology infrastructure and delivering computing capabilities make it difficult and expensive to adjust to these realities. You need systems with enough capacity to meet the highest possible demand-capacity that includes servers and buildings to house them, the power to run them, and the people to manage them. You have to spread that capacity across locations so there’s a backup if one part fails. You have to solve issues like access for different types of users and compliance with tax regulations in all countries where your customers reside.

Designed specifically to meet the global scale that today’s organizations require, the Azure Services Platform will provide fundamentally new ways to deploy services and capabilities. It gives businesses the option to take advantage of the capacity available in the cloud as it is needed, reducing the need to make large upfront investments in infrastructure simply to be ready when demand spikes. It will enable developers to create applications that run in the cloud and provide the features, information, and interactivity that employees, partners, and customers expect-no matter how many of them there are, where they are in the world, or what device they have at hand.

Software Plus Services and the Power of Choice

The Azure Services Platform reflects our belief that choice is critical for developers, companies, and consumers. It is also based on our belief that the key to delivering value today and in the future lies in combining the best aspects of software running on PCs, servers, and devices with the best aspects of services running on the Web-an approach we call “software plus services.”

Our software plus services approach lets people take full advantage of the incredible power of today’s devices. While there are undeniable benefits to being able to tap into the wealth of information and services that can be accessed over the Web through a browser, the interactive experiences that people expect on their PC, mobile phone, and media player depend on sophisticated software running on powerful processors.

The richness of these experiences will only increase as multicore processors expand the computing capabilities of our devices and new programming languages open the door to a new generation of applications that let us use more natural ways to interact with digital technology such as voice, touch, and gestures.

Software plus services also recognizes that for most companies, the ideal way to build IT infrastructure is to find the right balance of applications that are run and managed within the organization and applications that are run and managed in the cloud.

This balance varies by company. A financial services company may choose to maintain customer records within its own datacenter to provide the extra layers of protection that it feels are needed to safeguard the privacy of personal information. It may outsource IT systems that provide basic capabilities such as email.

This balance will change over time within an organization, as well. A company may run its own online transaction system most of the year, but outsource for added capacity to meet extra demand during the holiday season. With software plus services, an organization can move applications back and forth between its own servers and the cloud quickly and smoothly.

Today, companies around the world are implementing Microsoft technologies to take advantage of the best combination of on-premise software and cloud-based services. Using Microsoft Online Services, businesses including Coca-Cola Enterprises, Blockbuster, and Energizer access and manage Microsoft Exchange, SharePoint, Office Communications Server, and Live Meeting over the Web through a single, secure infrastructure. In addition, 1 million people rely on Office Live Workspace for sharing and collaborating with friends, family, and colleagues.

Expanding the Definition of Personal Computing

Ultimately, the reason to create a cloud services platform is to continue to enhance the value that computing delivers, whether it’s by improving productivity, making it easier to communicate with colleagues, or simplifying the way we access information and respond to changing business conditions.

In the world of software plus services and cloud computing, this means extending the definition of personal computing beyond the PC to include the Web and an ever-growing array of devices. Our goal is to make the combination of PCs, mobile devices, and the Web something that is significantly than more the sum of its parts.

The starting point is to recognize the unique value of each part. The value of the PC lies in its computing power, its storage capacity, and its ability to help us be more productive and create and consume rich and complex documents and content.

For the Web, it’s the ability to bring together people, information, and services so we can connect, communicate, share, and transact with anyone, anywhere, at any time.

With the mobile phone and other devices, it’s the ability to take action spontaneously-to make a call, take a picture, or send a text message in the flow of our activities.

Through Live Mesh-a service from Microsoft that we announced earlier this year and about which we shared new information week-we’re beginning to bridge the PC, phone, and Web and create this next generation of connected experiences. Built on the Azure Services Platform, Live Mesh enables you to use programs and information stored on your work computer from your home PC, and vice versa. With Live Mesh, you can share folders and ensure that the information is automatically synchronized across your devices.

Live Mesh hints at how our lives will be transformed as the barriers between devices disappear and the option to connect instantly to people, devices, programs, and information becomes a reality.

We’re not quite there yet. Today, the Azure Services Platform is available only as a limited technology preview release. But as developers begin to combine the capabilities of this new platform with the amazing ongoing hardware and software innovations that we are seeing from companies across the industry, it will bring us significantly closer to the time when information, communication, and computing flows along with us seamlessly as we move through our day-to-day activities.

You can learn more about these technologies and the progress we are making by visiting the Microsoft Software + Services Web site.

I look forward to sharing more information with you about these new technologies in the near future.

Steve Ballmer

- End Of Message ———————–

I’m not entirely sure what the great city of Oslo has to do with cutting-edge modeling technology, but using European city names as product codenames seem to be the new thing at Microsoft. Dublin, Geneva, Zurich: there’s plenty more where those came from (BTW: I’d love to see a Microsoft Brussels or a Microsoft Antwerp. And why not a Microsoft Heist-op-den-Berg? :-) ).

Be that as it may, after today’s “A Lap Around Oslo” session, I was suitably impressed.

Oslo is a combination of four things:

  • A textual language (called “M”) for authoring models and DSLs (Domain Specific Languages)
  • A tool (called “Quadrant”) to interact with those models and DSLs
  • A repository to store and share models and DSLs
  • A library of predefined models and DSLs

The ultimate goal is developer productivity: eliminating the need for a developer to recode the same constructs over and over, but instead replacing that with simple, very goal-oriented models and DSLs that are created specifically for the tasks at hand, then executing these directly.

The demo in the session showed how a few simple constructs that were written in a very “human-readable” manner resulted in a mini-application that produced a database table and inserted some data. Although trivial in itself, at no point in the demo was there any human-written T-SQL: everything flowed out of that really simple description that defined the structure of the data and the values that should be inserted into it.

Of course the actual T-SQL existed and was executed at some point, but it was produced on the fly using various components of Oslo and a pre-defined DSL designed for the explicit purpose of manipulating database tables.

I do have to get my head around some of the concepts that were introduced (for starters: I don’t yet have a grasp of how hard it would be to create new models that are anything less than trivial). I’m sure these questions will get answered clearer after I get some time to sit down and play with this stuff.

Once the models do exist, however, I see significant benefits on the developer productivity level.

The Oslo developer center on MSDN has tons of information.

Note to my collegues: start reading, guys! I’ll bring the tools with me next week…

Some new stuff coming to WPF:

  • Multi-touch support
  • The WPF Toolkit, containing a new Datagrid, datepicker, calendar, Ribbon control

The Visual Studio 2010 UI is built using WPF. It will have a new and extensible code editor.

Some of my notes on the new things we’ll see in the Windows 7 UI:

  • A new task bar. Hovering over icons brings both a thumbnail and the application window to the front
  • Thumbnail windows are live. You can close the application just from the thumbnail.
  • Taskbar icons can have “jumplist” menus. They contain things like lists of recent documents you have opened etc.
  • You can snap application windows to screen edges
  • Home networking in made a lot easier: a Windows 7 PC can auto-join a home network, and printers and folders are shared automatically. Moving between networks also changes default printers (FINALLY!).
  • New capabilities for customizing themes, backgrounds, etc.
  • Fine control over the notification area.
  • The “Action Center” is the central location where you can go to maintain security, configuration, etc.
  • Extensive multi-touch support
  • Better screen magnifier

They also worked on the fundamentals: Windows 7 should use less memory, perform less disk I/O, and consume less power, but deliver more speed and responsiveness. It will support up to 256 CPU’s.

Some other new capabilities:

  • Bitlocker encryption can be used on USB memory sticks, so losing a memory stick does not mean you risk exposing sensitive data
  • Nice one: you can directly mount .VHD files, they will appear as regular disk drives in Explorer.
  • You can boot your PC directly off a VHD file. Great for developers and for testing scenarios!
  • Multi-monitor support for Remote desktop. This is really nice: if you have 2 monitors, any machine your open a Remote Desktop on will also have 2 monitors.

Ray Ozzie kicked off day 2 by discussing how the PC, the web and the mobile phone are 3 separate worlds, each with their own uniqueness, but they are not well connected: making information and documents seamlessly available regardless of which type of device you happen to have available is not easy.

He brought Steven Sinofsky to the stage for the first public showing of Windows 7. Next up was Scott Guthrie, who discussed new features in WPF and .NET 4.0, and finally Dave Treadwell described Live Services.

See the following posts for some more detail on each of these.

The main differences between WF3.0 and WF4.0:

  • New workflow designer
  • Simpler authoring of workflows
  • Fully declarative
  • Syntax alignment between expressions, rules and activities
  • Composition over different workflow styles (sequential and state machines)
  • Performance improvements of 10x to 100x, depending on workflow type
  • Full persistence control
  • Flow-in transactions
  • Partial trust
  • Integrates with WCF, ASP.NET
  • Re-hosting improvements
  • Better designer performance
  • Unified debugging

I’ll try and add my PDC 2008 pictures here as I go along: http://www.flickr.com/photos/patrickv/sets/72157608431573683/

Quick post: Oslo Dev Center is now live on MSDN: http://msdn.microsoft.com/oslo

Ray Ozzie, Microsoft’s Chief Software Architect, kicked off the day with the keynote session. Most people in the room knew that an announcement about Windows cloud services was coming, so there was a buzz of anticipation. There’s been some speculation about the name due to leaks (probably some of those leaks were deliberate to put people on the wrong footing  :-) )

So now we know: it’s Windows Azure. I’m not so “zure” about that name: lots of non-english speakers will have trouble pronouncing it correctly.

At the core of Azure is the base OS: Windows Azure, and on top of that Microsoft provides a set of services that application developers can use. Windows Azure is a cloud services operating system that serves as the development, service hosting and service management environment for the Azure Services Platform. It provides on-demand computing and storage, on scales ranging from the lone developer to large enterprises.

The tools to build and deploy services on the Azure platform are hosted right into Visual Studio, and what’s more: they will emulate the fact that you might have multiple service instances running the same services right on your developer machine. Good idea: you really want to find out that you have concurrence or locking issues before it’s time to go into production, and this feature allows you to do just that.

Although Azure is by no means complete today, and Microsoft has said that they will only be turning on features gradually, you can sign up (for free!) for it today already at http://www.azure.com.