The types of devices in Live Mesh

One of my favorite sessions at PDC 2008 was Jeremy Mazner’s talk on the “Future of the Device Mesh”.  It really helped to show the full potential of Live Mesh as a platform and how with interest and adoption from hardware manufacturers, the possibilities are very exciting!

At this stage we have a small number of supported devices that can be placed in Mesh; PCs, Macs and Windows Mobile devices.  We’re not going to be stopping there though.  Some of the our early adopter hardware partners like HP, Intel, Marvell, eye-Fi were on show as Mesh Devices that consumed, produced or stored content exposed in the Mesh. 

It’s first worth covering the four different types of devices that can be found on the Device Ring; Creators, Consumers, Rich End-Points and Processors.

image

Creators

Creators are typically devices that create content and push it into the mesh for synchronization to devices that you choose.  This could be a digital camera that is connected by an eye-Fi SD card which has two options of synchronization:

First, it can send photos to a mesh enabled folder on the computer which in turn synchronizes with the Live Operating Environment in the cloud thanks to the Client runtime on the local machine.  Second, with a bit of coding and delegated authorization, Eye-fi can synchronize directly with the Live Operating Environment in the cloud.

In summary, there are two ways for a creator to get content into the mesh: Meshed folders or coding into the cloud directly.

Consumers

Consumers are typically devices that can consume information synchronized in Live Mesh for example a digital picture frame or Zune mp3 player.  They are the devices that take your content and display, project, play etc all of it in their unique way.

At present they have delegated read authorization into your Mesh data meaning the user will give permission for the consumer to fetch data from the Mesh and further to that will setup which folders in the Mesh the device has access to.  Consumers like other devices will be able to present information to the Mesh describing its characteristics, called persistent properties, so that Mesh knows that the device has a screen 200x300 for example or that it’s capable of playing music etc. 

This will help Mesh know what kind of content it should be pushing to the device and if it needs to be processed (see Processors) prior to synchronization.

Rich End Points

Rich End-points are the highly interactive devices that we spend most of our time using.  PCs, Macs and mobile phones all fall into this category.  They are devices that want to do more than create or consume content, in addition they want to edit and save it and have a richer more interactive experience with the full functionality of the Mesh.

Thinking beyond PCs, Macs and phones, other rich end-point devices might include printers too.  Today’s printers actually pack quite a punch in terms of features and many have LCD screens where you can do lots of funky stuff with your photos etc.  Imagine dropping an image or document into one of your Live Mesh folders and have it print out back home or at a loved one’s house. 

The example of the printer is really fun too as we can provide transient information back to Mesh like how much ink the printer has or if there is a print out in the tray so you can remote management.  With the right authorization this device could add an ink cartridge to your shopping list in another Mesh app.

Processors

Processors are devices that don’t show up on the device ring but are there to take care of transforming data in some shape or form or to carry out a service behind the scenes for the user in their Mesh.  They’ll typically have an app style interface in the Mesh where users can configure how the processor behaves.

In Jeremy’s talk he mentions a content downsizer which might prepare hi quality videos ready for synchronization with a Zune, where the screen size means that lower quality video makes sense.  This is important for getting the right content to a particular device whilst optimizing the usage of your bandwidth.

Another example of a processor might be online backup where your stuff can be archived in the background to another cloud or storage facility.  Again you can configure the backup behaviour using the app style interface in Mesh.

In Summary 

In this post I wanted to talk about the four classes of device in Mesh and in future posts I’m going to be expanding the discussion to how devices work in the Mesh.  If you’ve got a spare hour I highly recommend checking out the recording of Jeremy Mazner’s session which features arguably the best demo at PDC. Here is the recording of his session.

The device infrastructure itself is not available in the CTP yet but it’s worth having the conversation with people in the device world to help you understand what the potential is for your devices.  If you are in the device world then you probably have a good idea about how you would like the infrastructure to work, so we want to hear your feedback – if you have any then drop me a line james@microsoft.com and we'll be happy to take a look.