From OpenHome

(Difference between revisions)
Jump to: navigation, search
(What is it?)
(ohOS)
 
(16 intermediate revisions not shown)
Line 3: Line 3:
== What is it? ==
== What is it? ==
-
ohOS is a new level of Operating System, which makes it simple to write apps and deploy them, rather than having to support multiple platforms.  
+
ohOs is designed to be deployed onto a modern Operating System and hosts a number of applications. Each of these applications can automatically run on any host OS. Deployments are maintained for:
-
ohOs itself is designed to be deployed onto a modern Operating System.  Deployments are maintained for:
 
* Windows x86/x64 desktop
* Windows x86/x64 desktop
* Mac x64 desktop
* Mac x64 desktop
* Linux x86/x64 desktop
* Linux x86/x64 desktop
* Linux ARM
* Linux ARM
 +
 +
Linux ARM allows deployment on a [http://en.wikipedia.org/wiki/SheevaPlug plug computer].  The unobtrusive factor and low power requirements of these devices make them very well suited as the hosts for apps which should always be on.
Linux ARM allows deployment on a [http://en.wikipedia.org/wiki/SheevaPlug plug computer].  The unobtrusive factor and low power requirements of these devices make them very well suited as the hosts for apps which should always be on.
 +
 +
== Related projects ==
 +
 +
=== [[ohWidget|ohWidget]] ===
 +
 +
ohWidget offers a home control framework which runs as an app on ohOs.
 +
 +
=== [[ohRemote|ohRemote]] ===
 +
 +
ohRemote provides remote access framework and is installed as an app on ohOs.
 +
 +
== System architecture ==
System architecture can be summarised as:
System architecture can be summarised as:
-
[[File:ohOsOverviewArchDiagram.png|center]]
+
[[File:ohOsOverviewArchDiagram.png|400px|thumb|center|System architecture]]
Line 27: Line 40:
== How do I get it? ==
== How do I get it? ==
-
ohOs will be available for download soon from GitHub. In the meantime should you require access to the source code please contact info@openhome.org
+
ohOs is available as a [http://www.openhome.org/releases/artifacts/ohOs/ binary release] and coming soon to the [https://github.com/Openhome OpenHome Github account]
-
== Related Projects ==
+
== Docs ==
-
=== [[ohWidget|ohWidget]] ===
+
Coming soon.
-
ohWidget offers a home control framework which runs as an app on ohOs.
 
-
 
-
=== [[ohRemote|ohRemote]] ===
 
-
 
-
ohRemote provides remote access framework and is installed as an app on ohOs.
 
-
== Supporting Docs ==
+
__NOTOC__

Latest revision as of 10:35, 2 March 2012

ohOS

What is it?

ohOs is designed to be deployed onto a modern Operating System and hosts a number of applications. Each of these applications can automatically run on any host OS. Deployments are maintained for:

  • Windows x86/x64 desktop
  • Mac x64 desktop
  • Linux x86/x64 desktop
  • Linux ARM


Linux ARM allows deployment on a plug computer. The unobtrusive factor and low power requirements of these devices make them very well suited as the hosts for apps which should always be on.

Related projects

ohWidget

ohWidget offers a home control framework which runs as an app on ohOs.

ohRemote

ohRemote provides remote access framework and is installed as an app on ohOs.

System architecture

System architecture can be summarised as:

System architecture


ohOs hosts a number of applications (apps), each of which is always running. All code in ohOs is managed. This has the benefit of making applications portable across all platforms at no cost to the app developer. All code in ohOs is written in C#. Apps can be written in C# or other managed languages.

Each ohOs app runs in its own process. Communication with the app’s user interface or with other apps occurs using service interface calls over the network. Service interfaces are typically presented as standard classes which internally use ohNet to handle the invocation of a service function or notification of a change in a member variable.

ohOs apps contain a web-based user interface, allowing users to access the apps on any control point without installing extra software. Each app is automatically supplied with a rudimentary web server which delivers the web UI. Apps are not required to generate complex html inside ohOs; instead they serve up JavaScript which uses the services exposed by the app to generate its UI client-side.

Web UIs can use HTML5 features to provide an interface as graphically rich as native apps. While there should be no pressing need to write native control points, ohOs does allow this. In addition to C#, proxies for an app’s services can be generated in C or C++ (suitable for Apple’s iOS) or Java (suitable for Google’s Android).

How do I get it?

ohOs is available as a binary release and coming soon to the OpenHome Github account

Docs

Coming soon.