Behind Live Mesh: What is MOE?

Howdy!  This is Richard Chung, a client developer for Live Mesh. You can find me blogging sporadically as DevDuck over on red hot place.  I was one of the first developers on the Live Mesh team—I’ve been working on this stuff for over 2 years now and have been itching to talk about it!

By now, you’ve read all about Live Mesh.  Hopefully, some of it makes sense to you—you might even be able to envision how it can dramatically change the way you manage data across your devices, share and interact with your friends and family, and collaborate with peers or partners!  If not, that’s ok.  The whole concept of Live Mesh will become clearer in the months ahead, especially as more  applications and experiences are created on top of the platform.

Software + Services

When you were first introduced to Live Mesh, you probably played with the Live Desktop.  It’s pretty snazzy.  Maybe you even uploaded a few files too.  Hey, it’s a cool service!  You can store stuff in a cloud somewhere and access it anywhere using a webpage.  Great!

As I look at the statistics on the service though, I notice that a significant portion of our users have stopped here.  This pains me, as there’s a whole lot more you can do with Live Mesh.  Didn’t you hear all the hoopla about Software + Services?  Ever wonder, “Where’s the software?”

You might have noticed that on the device ring there’s a big orange button with a white ‘+’ sign.  The magic happens when you click that big orange button and opt to “add a device” to your mesh.  Click “Install” and you’ll download and install a very small program onto your machine.  Once set up, you may notice a process called MOE.exe running on your computer.  What exactly is MOE?

MOE: Mesh Operating Environment

MOE is an acronym for the “Mesh Operating Environment.”  MOE is a service composition runtime that provides a unified view of all Live Mesh services and a simple way for applications to interact with Live Mesh.  MOE is everywhere—it’s on all devices in your mesh (as “client MOE”), and it’s in the cloud (“cloud MOE”).  The two are quite similar; they provide a symmetrical and consistent programming model between client and cloud.  If you’re a developer, you’ll be able to take advantage of these flexible points of entry  to Live Mesh in the way that’s most natural for you.

That’s a lot to digest.  I won’t go into the developer story today; you’ll see more of that in the months ahead.  For the purposes of this post, I’ll only focus on client MOE.  Client MOE is at the heart of every device connected to your mesh, be it your PC or Mac or mobile.

The goals for client MOE are simple.  Here are some of them:

· To allow seamless access to a user’s mesh and all the data in it;

· To abstract away common functionality, like synchronization protocols;

· To allow existing applications to participate in a user’s mesh, by optionally leveraging the local file system;

· To provide a seamless online/offline experience (also known as “occasionally connected”) by synchronizing and caching metadata from the cloud;

· To update seamlessly, providing new features and fixes in the platform; and

· To use minimal system resources, running in the background all the time.

You’ll notice that the idea of “seamlessness” really runs through these tenets.  Obviously, since what we just released is a “Tech Preview,” we have only just started towards achieving these goals today.  Rest assured that we will get better!

Let me elaborate on a couple of these points.

Online vs. Offline

In today’s world, many applications just don’t work if they’re not connected to the Internet.  It’s much easier to write programs that assume connectivity to a service, than not.  But why should it be so hard?  MOE abstracts all this behavior for you.  It caches the metadata that’s in your mesh and automatically synchronizes it, so that talking to MOE is essentially like talking to the cloud.  And talking to MOE will always work, regardless of whether or not you have Internet connectivity.  MOE will do the heavy lifting for you by synchronizing changes you’ve made locally, whether you are online or offline, with your mesh (when you have internet connectivity).

Today’s Applications

As high as our hopes are for Live Mesh, we realize that there isn’t anything today that fully showcases the true power and potential of the mesh yet.  This is one of the reasons we’ve built simple file synchronization capability as a rich experience on top of MOE.  This way, any existing application that writes files to disk (virtually all applications) will suddenly be able to leverage Live Mesh, without *any* changes to the application.

For example, say you use Windows Live Writer to collaboratively write blog posts, but it often takes several iterations before posting.  You can now save your blog drafts into a Live Mesh folder, and suddenly those drafts are everywhere—on each of your devices and those with whom you share the folder.  An idea for a post pops into your head on the bus ride to work?  Start a post on the bus, add content to it at work, have others read it over and revise it on their own devices, add your final touches, and post at home that very evening!  All without even thinking about e-mailing attachments back and forth.

Working on Live Mesh

I’ve been working on Live Mesh for over two years now.  Prior to this I was a developer on the Windows Live Messenger service.  When I first started on Live Mesh, I thought it would be a piece of cake.  After working on huge scalable services that support millions of users, how hard could writing a little lightweight client be?  It turns out that it’s quite hard.  Synchronization may appear to be an easy problem (and in fact, there are a ton of apps out there that do simple file sync already), but it’s actually really tough to solve it in a *generic* fashion so that other applications can be built on top of it.  That’s what we’ve strived for.  (We’ll have a future post on how Live Mesh uses FeedSync underneath the covers, and what types of extensibility and other advantages that provides.  Stay tuned!)

Here, There, Everywhere

Live Mesh is about to become your new best friend.  The one you can’t live without and is always in the background to take care of things for you.

So what are you waiting for?  Download and install Live Mesh on all your devices today!  You’re missing out if you don’t.  And be sure to give us feedback and report any issues you see!


Technorati Tags:
Comments (20)

  1. Andy Simpson says:

    I’m waiting for you to release Live Mesh to more than 10,000 in the US 🙂

    Seriously though, Live Mesh sounds clever. Here’s to hoping it takes off!

  2. mikeycooper says:

    Any word yet on when MOE will install/run without requiring UAC on Vista?  I’m very excited to try this out once I can actually install it.

  3. Adam says:

    I would love to download and try it but I need an invite!

    (It says someone has sent me on, but they haven’t)

  4. Paul says:

    While there are things about the Live Mesh service that I like, it uses more resources than similar programs that I am also testing (Sugar Sync and Drop Box come to mind). It is also seems to be a little slower at recognizing when files are changed than the others that I am using.

  5. Gahgah says:

    Sounds really great. I’ld love to see the mobile client available. That would make Mesh so much better. Any news when we’ll see the mobile client?


  6. wisher says:

    I installed MOE on my Vista notebook and on my XP old desktop. Now I have my files perfecly sync’ed. I’d like to have some web application in Live Mesh desktop just to play with my files also when I’m not on my PCs.

    Another cool stuff would be RSS feeds sync. I think it could be trivial ‘Meshing’ the folder that contains feeds on my PCs, isn’t it?

  7. Nektar says:

    Any thought on providing true user profile roaming across any computer on the Internet with Mesh? Currently profile roam on Windows works only in a corporate environment. Imagine being able to have the same user profile, i.e. synchronize not only my folders but also my registry and all my user settings on multiple computers, like what .MAC does now for the Mac.

  8. gmcaleese says:

    I’m not sure if any developer API information has been released yet, but will differerent devices be able to sync content in different ways?  I’m thinking that content or resources on a laptop might be stored differently on a mobile device or some other device.  Anyway looking forward to getting access to play with live mesh.

  9. Maxime Hache says:

    If someone can send me an invite i will be happy XD !

    Max_h_91 =AT=


    When the next beta?

  10. robbyt says:

    open standards?

    since solid technical details are only accessible behind microsoft firewalls, i’m going to give you msftrs a tip:

    open standards.

    if -mesh- doesn’t use them, it’s doomed. If msft is designing yet another technology for use in a 100% msft world, you’re wasting your life away by writing software that no one will care about.

  11. Brad says:

    I’d like to see a way to synchronize without putting stuff on the live desktop.  Then the 5GB limit wouldn’t be such a constraint.  This could replace Foldershare in a heartbeat.  I understand you don’t want to host the 100s of GB that I synchronize now between my home server, home computer and work servers and computers (unless I’m willing to pay a monthly per-GB charge of course).  All of my sources are almost always online so I don’t need a cloud host to keep a copy of my files.

  12. Matt says:

    Is there a way for me to recieve an email notification everytiime one of my shared folders on the mesh is updated.

  13. web guy says:

    I am using mesh and LOVE it!  

    I have my 2 home PCs and work laptop in my mesh so far.  I can log into my home PC from work, turn on the webcam and see what my cat is doing at home… from work.  

    Even play some meow.wav files for him.  Very cool to see how he spends his day!

    Really looking forward to the windows Mobile support~

    One thing my desktop icons get screwed up on my XP machine – but not the 2 Vista boxes.

  14. David says:

    I’d love to see Mesh hooked up with Live Workspace.  I suggested this on their forum, but I’ll suggest it here as well.  One of the weakest points of live workspace is the fact that there is no local copy, but saving it to the “mesh” would solve that problem…


  15. Looks like people have been busy.  Here goes some responses:

    @Andy: Stay tuned.  We’re slowly growing the service.  Make sure you’ve signed up on the wait list.

    @Mikey: The UAC-less install will only be available for Vista SP1.  You’ll see a post on this blog when it is available.

    @Adam & Maxime: People looking for invites have been using this forum thread to connect with one another.  You may want to try posting in that thread:

    @Paul: We know that the client uses more resources than you’d like it to today, and we’re definitely working to try to make this better.

    @Gahgah: Stay tuned!  Mobile is definitely something we’re keen on too.

    @Wisher: The Live Desktop does play some media files today, if you have the Silverlight Beta2 installed.  RSS feed sync is definitely really cool!  We’ll be considering things like this soon.  Feed free to add this into the wish list in the forums:

    @Nektar: This would be cool; definitely an interesting long term goal.  Please add this to the wish list in the forums:

    @gmcaleese: You’ll hear more about the developer APIs later this summer.  In the meantime, feel free to watch Ori’s Channel9 video to get a taste of what’s coming:

    @RobbyT: Check out FeedSync here:

    @Brad: Yes, this is an oft-requested feature.  You can be sure that it’s on your mind.  For now, if you fill your 5GB quota, note that files will still be synchronized P2P, by bypassing the cloud.

    @Matt: No, not today.  The News feed, however, should give you some of this information.


    Richard Chung

  16. Brad says:

    So once I fill my 5GB quota how do you determine which 5GB of data to keep on the desktop?

  17. MSDN Archive says:


    Once you fill your 5GB quota, the first 5GB of data uploaded to the Live Desktop stays there, and everything else will synchronize P2P.  If you remove something from your Live Desktop, Live Mesh will push data to the cloud on a first-come, first-served basis until the quota is full again.

    Please note, however, that this is Tech Preview behavior.  Ultimately you will have control over what data goes to the cloud, and what data only synchronizes P2P.

  18. Fred says:

    I absolutely LOVE mesh. I have it running between my 3 work laptops and my home computer. Knowing that my “my documents” are always up to date and with me online and offline is very exiting.

    The remote desktop fuction, also a great feature that I use often. Like others said, intergration with the live suite will make it complete. Keep up the great work!!


  19. Brendon says:

    I think Moe.exe has a memory leak or something.

    Mine’s using 176,520k after running for 11 days,

    It occasionally jumps up a little bit, but never seems to go down

    – now using 176,692k (about 5 mins later)

    Anyway file version is 0.9.2815.12 running on XP SP2

    Not sure if it’s been fixed, just thought I’d mention it.


    going to kill it now.



  20. Live Mesh says:

    Hey there! I’m Viraj Mody , a developer on the Live Mesh services team. I bet some of you are curious

Skip to main content