myOSity high-level Model

By John at January 04, 2009 09:58
Filed Under: Techy

high_level_stack myOSity is itself an application that runs within the browser Silverlight (or Moonlight for Linux) plug-in.

The crude illustration on the left depicts a high-level visual of the stack.

myOSity Client Runtime

The client runtime provides the framework within which all elements of engine operate.

Interop Service

The Interop Service is available to all Applications, Background Providers, and other elements, as a mechanism for communication, both with each other, and with certain runtime services.   This allows applications to communicate with each other without having to define explicit interface contracts ahead of time.   I’ll dive into this topic in more detail in future posts, but for now you can see several examples of how it works already in use at myosity.com.

Example #1 – Application to Application Interop

In myOSity, load the Application ‘Application Interop A’.  After it is loaded, click the “Add Ball” button a few times to get things going.  You’ll notice that the balls will bounce around inside the window.

Now load the Application called ‘Application Interop B’.  After it is loaded, you’ll notice that some of the balls from App A are crossing over into App B.  This is happening in real-time via the Interop service.   These two applications know nothing of each other, except for the Interop language exchange.  The service allows applications to detect each other and then to send messages back and forth.  In this example, the messages are accompanied by an object, the ball, with all of it’s properties.

It all sounds “gee wiz”, I agree.  But this is just an illustrative example.

Example #2 – Application to Runtime Interop

You may have noticed by now that myOSity provides a basic file system service (not complete yet).  Under the guest account, I’ve uploaded several pictures, which you can see if you open the File Browser window.

Now open the Application called ‘myOSity Picture Viewer’.  As soon as the application loads, you will see a dialog appear asking you for permission to allow this application to view your files.   Behind the scenes, the Picture Viewer app sent an Interop message to the File System Service, asking for the list of files.  The file system is prompting you for permission.  Click Yes.

image

When you click yes, the File System Service sends an Interop message back to the requesting Application (Picture Viewer), with the list of file names.

You’ll now see these names in the drop down box of the Picture View app.  Select one of them, and the next Interop exchange will take place.  The Picture Viewer App now makes a “GetFile” Interop request to the File System Service, which downloads the file and, when complete, sends the file data back in the form of, you guessed it, another Interop message.  The Picture Viewer app then processes the file and displays it.

Runtime API

The Runtime API is a library that is used by Applications and other elements (like a Background Provider, more on that later), to interact with the runtime environment.  Applications in myOSity must implement a specific Interface from the API in order to be recognized and allowed to run within the runtime framework.  The API allows for such things as manipulating windows, receiving runtime events, etc.  I’ll dedicate a post just to this component, because it’s quite extensive, even in the early stages.  We’ll also be providing documentation on how to download/use the API at some point around launch.

Comments are closed

What is myOSity?

myOSity is a On-Demand Operating System that runs in your browser.  You can run applications, work with files, keep in touch and share things with your friends, and more.  The goal of myOSity is to combine the best aspects of operating systems and social networking, while hopefully leaving out all the annoying stuff.

Curious?

To check out myOSity for yourself click here.

Have a game or other Silverlight project that you want to become part of the growing list of applications on myOSity? Contact Me for details.

Join The Team!

Currently looking for other developers interested in being a part of the project.  Contact Me for details or read this post.

About John

I am the founder and lead designer of myOSity.com.  I've been a technologist, in one form or another, for over 20 years.

Protected by Commentor
0 comments approved
4 spam caught
Since December 1, 2008
Powered by Spam Counter