Click Here to Install Silverlight*
United StatesChange|All Microsoft Sites
The Beta Experience

Microsoft Office Groove 2007

Author: Matt Nicholson


One of the most exciting additions to 2007 Microsoft Office System is the collaboration tool Office Groove 2007. Although new to Office System, Groove actually started life in October 2000 when Groove Networks shipped the first beta version. Microsoft acquired Groove Networks in April 2005, which brought not only Groove Virtual Office 3.1 but also Ray Ozzie, the company’s influential founder.

Ozzie has long been interested in collaborative applications, having founded Iris Associates in 1984 with funding from Lotus Development to create the product which eventually became Lotus Notes (now owned by IBM). Following the acquisition, Ozzie joined Microsoft as one of three Chief Technology Officers and quickly made his mark with his controversial open email ‘The Internet Services Disruption’ (see In June 2006 he took over the role of Chief Software Architect from Bill Gates.

Getting in the Groove

All of which clearly makes Office Groove 2007 a highly significant product for Microsoft. Groove is perhaps best described as a peer-to-peer environment for creating and working in shared workspaces. Once you have installed the Groove client you can start creating workspaces that contain the information you want to share with your colleagues. At the simplest level a workspace can simply be a folder on your desktop containing files that other team members need to access. Alternatively it can contain any of the more sophisticated collaboration tools that come in the package, or that you create yourself.

Once you’ve created a workspace you can start inviting colleagues to join. If your colleagues have already installed Groove then they will receive the invite as an instant message within the application itself. Otherwise invitations are sent as standard email messages which include instructions on how to download a trial version of Office Groove 2007. Once they accept the invitation, and have Groove set up on their machine, they receive an exact copy of the workspace, either from you if you are online at the time, or from any other workspace member who happens to be connected.

Once a workspace is established, any of its members can work on its content, whether they are connected to the Internet or not. A full copy of the data associated with each workspace is stored in encrypted form on each member’s desktop, while behind the scenes, each copy of Groove is busy keeping each copy of the workspace up-to-date in an intelligent fashion, transmitting encrypted ‘deltas’ between members which contain just the information that has changed. (This makes it particularly efficient for teams that need to work with particularly large files.)

This is the beauty of Groove. Workspaces can be shared across organisations and even to roaming users who are only intermittently online, perhaps through a public wireless access point when they can find one. Data is distributed across all the workspace members rather than stored in one central server. Furthermore, because only encrypted ‘deltas’ (in other words distributed transactions) are transmitted, rather than full copies of each file, data exchange is very secure. This is particularly important when workspace members can come from both inside and outside your organisation’s firewall.

The main control panel for Groove is its Launchbar (shown above). Here you see a list of the workspaces that you have created or joined, and a contact list that displays the status of other members: whether they are online or not, and whether they are active in any of the workspaces. Workspaces which have changed since you last visited are highlighted.

You can also chat to other Groove members from the Launchbar. Chats work in much the same way as they do in Windows Messenger, for example, except that you can save a chat as a Groove workspace if it looks as though it may be of lasting value. Alternatively you can chat from within an existing workspace, in which case the chat is automatically saved as part of the workspace.

Groove is particularly good at reporting ‘presence’. You are kept constantly up-to-date as to who has joined a workspace and which tool they are using , all of which enhances the feeling that you are sharing a ‘virtual office’.

A file-sharing workspace is simply a folder on your desktop that has additional functionality showing you the status of other members of the workspace, and allowing you to chat with them. Alternatively you can create a Standard workspace that contains not only a space for sharing files but also a Discussion tool where members can conduct threaded conversations.

Going further you can create workspaces that contain any combination of the tools that come with the package, or any that have been uploaded by other users to the Groove Web site. Available tools range from collaborative games such as Chess and Reversi through to shared calendars, a drawing tool, a meetings organiser and a pictures organiser. New to the Office Groove 2007 is a SharePoint Files tool which allows your workspace to include documents that are stored in SharePoint libraries.

As we shall see, creating your own Groove tool is straightforward, thanks to the built-in forms designer. Here you can design a form specific to your needs so that team members can input, edit and share data about, for example, the status of the project. Also new to Office Groove 2007 is the ability to import forms created using Office InfoPath 2007.

Keeping synchronised

Groove can work in a purely peer-to-peer manner, but generally functions better with the help of a number of centralised services.

For example, when you first install Groove you create a Groove account. This is a file stored on your computer that contains details about your Groove identities and the cryptographic keys associated with them, details about the machines on which you run Groove, references to the workspaces which you have created or joined, and so forth. You can access your account from more than one device simply by copying the file to another machine.

One of the options you are presented with when you create your account is to have it listed in the Groove Public Directory. This is a centralised service maintained by Microsoft that makes it easier for you to find other Groove users, wherever they may be.

However the big problem is synchronisation. Keeping a purely peer-to-peer system synchronised is only practical if most of the clients are connected most of the time by a relatively fast network. If one client disconnects and then reconnects at a time when all the other members of a workspace are disconnected, then that client won’t be updated with any of the changes that the others might have made in the meantime. If any of the clients are behind a firewall, they won’t be able to directly receive deltas that originate outside the firewall, either.

Microsoft gets around this by offering a central relay service. In a situation where some of the members of a workspace are disconnected – perhaps because they are in an airplane on route to their next meeting – changes that are made by the connected clients are sent to the relay server where they are held in a queue, ready to be forwarded. When the plane lands, and the client re-connects to the Internet – perhaps through a wireless network at the airport – it automatically downloads these changes from the relay server and sends out any changes that its user made while in flight.

To partake you need to subscribe to Office Groove Enterprise Services. Alternatively you can purchase Office Groove Server 2007 which gives you your own relay service, used only by members of the organisation’s workspaces, and full administrative control.

Nevertheless Groove remains essentially a peer-to-peer system as the relay service is only used to store-and-forward the deltas, and does not contain a full copy of the workspace. This is only held on the member’s machines, giving each member local access whether they are online or offline.

Building Groove tools

The Groove client comes with a tool designer that is intuitive enough to be used by not only developers but also ‘power users’ looking to quickly put a tool together that will help them with a particular project. When you build a tool you are putting together an interface to a record-oriented database which is automatically synchronised across workspace members. Each record is a collection of fields that you define in the designer and then lay out on a Form. Each Form is accompanied by at least one View which displays the records in a list, showing just the fields you have selected in the order that you have specified. A typical example is the built-in Discussion tool which was actually put together using the Groove Forms tool designer.

Add a new Forms tool to a workspace and Groove automatically creates a Design Sandbox in which you work. Once you’ve created your form you can then save it so that you can continue working with it at a later date, or publish it in which case it becomes part of the workspace and visible to the other members.

The Design Sandbox is a local copy of the design of the form, allowing you to make changes which are not seen by the other workspace members until you publish them. This can cause problems if more than one member decides to edit the same form at the same time, as the last person to publish their changes will overwrite the design changes made by everyone else, so members do need to cooperate here.

Creating the fields and designing the form is very intuitive and largely wizard-driven. Field types include not only text, number and date fields but also option buttons, drop-down lists, password entry, contact (for selecting Groove users), various design elements such as headings and rules, and a Script Button whose action can be defined in either JavaScript or VBScript. Once you’ve selected a field type you go on to set properties such as formatting, validation (principally upper and lower values) and how the field should be labelled.

Any fields you create are listed alongside the System Fields, such as the author’s name or the date created, ready to be placed on your form. Here you are given all the tools you could need to create a professional-looking form that can include grouped items and multiple tabs.

One option that will be of more interest to developers than power users is ‘Show Advanced Design Features’. Select that and more design options appear, including an ‘HTML Source’ tab next to the Preview tab in the form designer. Select this and you will see that behind the scenes your form is actually written in standard HTML. You can’t directly edit the HTML, but this is useful for checking object names.

Other advanced facilities include the ability to add both scripts, which are run automatically when the user is working with the form, and macros, which are available to the user through the ‘Run Macro’ option. You can write both in either JavaScript or VBScript using a basic code editor that provides little help, although it does include a wizard for creating Lookup Strings that can take values from other forms to, for example, populate a list box. These forms can be in the current workspace or can come from other workspaces to which the workspace members have access.

There is also an option to create new styles for your form. You define these using Cascading Style Sheets (CSS), much as you would a Web page.

An alternative to Groove Forms are Groove InfoPath Forms which you build using Office InfoPath 2007. Just as with Groove Forms, you can create Views of InfoPath data grouped and sorted in various ways. Groove InfoPath Forms are better at handling more complex data structures, such as repeating sections. However anyone trying to access them needs to have InfoPath 2007 installed on their machine. Note also that Groove InfoPath forms run within a sandboxed environment which means they cannot interact directly with external data.

Back-end integration

In a corporate environment, Groove really comes into its own when linked to back-end applications that run behind the firewall. Once this is done, Groove users can interact with mission-critical business systems in an ad-hoc and yet secure manner that opens up all sorts of new possibilities.

This integration is achieved through Web services. The Groove 2007 client application functions as a server, exposing the Groove Web Services API which gives external applications access to Groove workspaces, to the data stored in Groove Form tools, and to members through standard SOAP calls.

Developing against the API from Visual Studio involves loading the appropriate WSDL document (installed as part of the SDK) which gives you access to the services exposed by the local instance of the Groove client. You can then write applications that interact with the data available to the Groove client. Microsoft has said it wants to support Groove transactions in Windows Communications Foundation (WCF) and Web Services Extensions (WSE), but this is for the future.

The Web Services API gives you access to accounts, allows your application to detect presence and send messages, invite people into workspaces, access data within workspace files and forms, and navigate users to particular places within the local copy of Groove. It also supports events so that your application can respond if, for example, a new file is added to a workspace. Accessing Forms and InfoPath Forms is very similar, in that the Web Services return DataSets containing records. If it is an InfoPath Form then the InfoPath XML file is delivered through a binary field.

Entities, such as files inside a workspace, are accessed through a URL (Uniform Resource Locator). You can then manipulate the entity by sending SOAP messages to the URL that define the action you want to perform. Some of these URLs are defined in the SDK while others are returned by Groove in response to the appropriate messages. As a result code can end up looking pretty verbose, so Microsoft recommends creating a ‘managed wrapper’ before you get in to application specifics.

Security is paramount to Groove, so every SOAP call must contain the appropriate security identifier in its header. This is obtained from the local registry and changes from time to time. Every response contains an authentication key so you can be sure it actually came from the local instance of Groove.

The type of application you might build would be to integrate your Groove workspace with another desktop application, such as Office Excel or Outlook, or to create a specialised desktop client to a Groove workspace. For more heavy weight integration to back-end databases or business applications such as SAP or Siebel, Microsoft supplies the Groove Data Bridge.

This is a 64-bit server-based version of the Groove client. The Data Bridge can create workspaces and be invited into any workspace just like any other client, and it maintains an up-to-date copy of the workspace just like any other client. It even appears in your contact list like any other workspace member. It can be used for other purposes too. For example, one of the applications that come with the Data Bridge allows it to make scheduled backups of any workspaces to which it belongs.

You integrate the Data Bridge to back-end services by writing against the Groove Web Services API, which it exposes just like any other client. Your application effectively becomes the middle tier of a three tier application with the Groove workspaces at the top, and the back-end services (or the database) at the bottom.

For example, you could use the Data Bridge to connect to your ordering system. You could then arrange for a workspace to be created automatically when an order is placed, and have invites sent out to the people who need to deal with it. Data Bridge allows you to get business data out into Groove workspaces where it can be worked on in a secure fashion by people who are outside the scope of your IT system, such as partners and customers.

For the developer, Groove is an exciting platform on which to build collaboration tools that can be shared in a flexible fashion both inside and outside the organisation. It also provides the tools you need to integrate these with both Office SharePoint and with core back-end applications without compromising security.

You can download the Groove 2007 Software Development Kit (SDK) from

About the author:

Matt Nicholson is publisher and editor of the DNJ Online web site at

© 2017 Microsoft Corporation. All rights reserved. Contact Us |Terms of Use |Trademarks |Privacy & Cookies