<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Synergy Operating System &#187; Concepts</title>
	<atom:link href="http://www.synergyos.org/index.php/category/concepts/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.synergyos.org</link>
	<description>A meta Web OS that truly rocks!</description>
	<lastBuildDate>Fri, 22 Jan 2010 20:57:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The SynergyProvider project: SPDY, Hotplug and SynergyShell bridging</title>
		<link>http://www.synergyos.org/index.php/2010/01/22/the-webapp-provider-project-spdy-hotplug-and-esshell-bridging/</link>
		<comments>http://www.synergyos.org/index.php/2010/01/22/the-webapp-provider-project-spdy-hotplug-and-esshell-bridging/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 10:11:46 +0000</pubDate>
		<dc:creator>Aron Homberg</dc:creator>
				<category><![CDATA[Concepts]]></category>
		<category><![CDATA[ESShell bridging]]></category>
		<category><![CDATA[installing software]]></category>
		<category><![CDATA[lighttpd]]></category>
		<category><![CDATA[SPDY]]></category>
		<category><![CDATA[WebApp Hotplug]]></category>
		<category><![CDATA[WebApp Provider]]></category>

		<guid isPermaLink="false">http://www.synergyos.org/?p=57</guid>
		<description><![CDATA[How WebApps will be installed and executed in Synergy OS + anatomy of the WebApp Provider.]]></description>
			<content:encoded><![CDATA[<p>Due to the need of backend code execution in WebApps, we need a webserver on the Synergy OS that is perfectly suitable for processing [a lot of!] requests with the lowest response time possible. This webserver should have a minimal memory footprint, some additional modules and special protocols to simplify the software communication and management.</p>
<p>We want to call this project &#8220;SynergyProvider&#8221;. TheSynergyProvider project will implement some modules for the Jetty webserver and help to implement some protocol and performance tweaks.</p>
<p>We need specially five additions to the Jetty which we plan to implement:</p>
<ul>
<li>WebApp bundle support (Unpack and run WebApps that are inside of a Docroot)</li>
<li>WebApp Hotplug support (Detect new WebApp bundles in the Docroot. Then unpack and run them.)</li>
<li>A module for SynergyOS WebApp execution that is able to dispatch request to the WebApp code that will be executed by SynergyShell through that module. This module works with previously unpacked WebApps. The module needs dispatch the response of the code, files or streams back to the SynergyView (the browser).</li>
<li>Implementation of the SPDY protocol. This can improve performance for communication by 50% or more while also having maximum encryption (SSL) even on the loopback communication.</li>
<li>Implement serveral performance tweaks for lighttpd</li>
</ul>
<p>For Milestone 1 we just need to let lighttpd be executable and add the SynergyShell bridging support for WebApps code execution.</p>
<p>All improvements and module we will implement will be sent back to the lighttpd developers to share.</p>
<p><strong>From the users point of view</strong></p>
<p>A user just wants to install and run software fast and easily. This architecture is best suitable for that purpose. In the end the user selects a WebApp to install from the internet or a local media (harddisk, cd, dvd, usb disk, whatever) and double-clicks it. Maybe, there will be a configuration window for install, EULA, etc. but thats not the default case. In default, it just installs the software by coping and unpacking the WebApp bundle in the Docroot of the SynergyProvider. And it also puts an icon on the users desktop. Thats all.</p>
<p>The user can execute the WebApp by just double-clicking the icon.</p>
<p>Graphics by: <a href="http://de.wikipedia.org/wiki/Benutzer:Smial">Smail</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.synergyos.org/index.php/2010/01/22/the-webapp-provider-project-spdy-hotplug-and-esshell-bridging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An EcmaScript shell: SynergyShell as glue component</title>
		<link>http://www.synergyos.org/index.php/2010/01/21/the-ecmascript-shell-esshell-glue-javascript/</link>
		<comments>http://www.synergyos.org/index.php/2010/01/21/the-ecmascript-shell-esshell-glue-javascript/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 22:13:57 +0000</pubDate>
		<dc:creator>Aron Homberg</dc:creator>
				<category><![CDATA[Concepts]]></category>
		<category><![CDATA[EcmaScript Shell]]></category>
		<category><![CDATA[ESShell]]></category>
		<category><![CDATA[Linux shell]]></category>
		<category><![CDATA[V8]]></category>

		<guid isPermaLink="false">http://synergyos.org/?p=33</guid>
		<description><![CDATA[SynergyShell enables developers to implement javascript code interactively with native bindings to the Synergy OS Framework. SynergyShell is based on the V8 javascript VM.]]></description>
			<content:encoded><![CDATA[<p>In an EcmaScript driven operating system you would normally expect that you can use Javascript directly after you boot up the system and log in.</p>
<p>With the EcmaScript shell (SynergyShell) this is possible. You can use SynergyShell as a login shell or just for interactive Javascript development. SynergyShell emits code directly to the V8 Javascript VM for execution. It also has a native binding to the OpenJDK based Synergy OS Framework that provides a whole operating system abstraction layer.</p>
<p>It can be also just be used to call Javascript source files for execution from local or remote. SynergyShell is not specific to Synergy OS and can be used in any other Linux distribution or operating system in general too.</p>
<p>For Synergy OS, the SynergyShell bindings to the Synergy OS Framework enables Javascript developers to interactivly control the Operating System with very little code.</p>
<p>For example (Thats not the real API!):</p>
<blockquote><p>var file = new File(&#8220;/tmp/something&#8221;);<br />
var content1024k = file.read();</p></blockquote>
<p>All WebApp backends emit their backend code to their own SynergyShell binding. So the Synergy OS Framework will be directly available for any WebApp backend without any further todos.</p>
<p>You can even run Javascript code using the shebang instruction out of a &#8220;normal shell&#8221; using SynergyShell.</p>
<p>Photo by: <a href="http://en.wikipedia.org/wiki/User:Debivort">Debivort</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.synergyos.org/index.php/2010/01/21/the-ecmascript-shell-esshell-glue-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Synergy OS runs on top of any Operating System, specially Linux</title>
		<link>http://www.synergyos.org/index.php/2010/01/21/synergy-os-runs-on-top-of-any-operating-system-specially-linux/</link>
		<comments>http://www.synergyos.org/index.php/2010/01/21/synergy-os-runs-on-top-of-any-operating-system-specially-linux/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 18:41:31 +0000</pubDate>
		<dc:creator>Aron Homberg</dc:creator>
				<category><![CDATA[Concepts]]></category>
		<category><![CDATA[LocalApp]]></category>
		<category><![CDATA[Meta Operating System]]></category>
		<category><![CDATA[Meta OS]]></category>
		<category><![CDATA[Synergy Foundation Classes]]></category>
		<category><![CDATA[Synergy OS]]></category>
		<category><![CDATA[V8]]></category>
		<category><![CDATA[Web GUI]]></category>
		<category><![CDATA[WebApp]]></category>

		<guid isPermaLink="false">http://synergyos.org/?p=13</guid>
		<description><![CDATA[Synergy OS is the first meta operating system that can fit in any operating system and device!]]></description>
			<content:encoded><![CDATA[<p><strong>Design of the first meta Operating System</strong></p>
<p>The major design goal of Synergy OS is to be a highly flexible and customizable suite of software components forming a real Web OS on top of any operating system. For the first step, Synergy OS it will be compatible to some standard Linux distributions.</p>
<p>In Synergy OS, Apps are written in Javascript (EcmaScript) and are executed by the high-performance javascript VM &#8220;V8&#8243;. V8 comes from Chrome OS. Apps are using the Synergy OS foundation classes to get access to the resources of the real operating system they are executed on. So Apps have no direct dependency to the real OS.</p>
<p>The foundation classes of Synergy OS are well designed and well namespaced. They are grouped in:</p>
<ul>
<li>The &#8220;Synergy OS Framework&#8221;</li>
<li>The &#8220;Synergy Web Framework&#8221;</li>
</ul>
<p>Because WebApps in Synergy OS are executed in a locally webbrowser, there is a client side of an App and a server side of an App. It is also possible to write LocalApp&#8217;s. These run in the shell and have no webbrowser based client code.</p>
<p>The foundation classes for the Web contain classes for GUI rendering, Video control, Audio control, Network communication and Input event handling in the webbrowser.</p>
<p>The foundation classes for the Core contain classes for controlling system services and devices (hardware management) and all features a cutting edge web framework needs to be amazing. Plans are there to implement all features of Zend Framework and Ruby on Rails.</p>
<p><strong>The architecture in detail</strong></p>
<p>The anatomy of Synergy OS is a component orientated architecture. The foundation classes wrap the functionallities of the components.</p>
<p>The whole foundation classes are defined by an WebIDL specification (see W3C Web IDL for more informations). Web IDL is a language independend interface definiton language. We plan to integrate an extended version of the WebIDL compiler from the ES Operating System into Synergy OS.</p>
<p>The foundation classes of the Core are implemented in Java on basis of OpenJDK. The backend of a WebApp or a LocalApp in general is implemented in Javascript. So how is Javascript calling the Java libraries?</p>
<p>This is simple. We will patch V8 to have direct binding to Java compiled libraries by using the Java Native Interface wrappers (they are also used in SWT (Eclipse), QTJambi etc.).</p>
<p>The classes of the Synergy OS Framework abstract the functionalities of the real operating systems. They will be designed in a component orientated manner.</p>
<p><strong>What about compatibility?</strong></p>
<p>Each Linux distribution has it&#8217;s own design decisions in mind. Specially for target devices, performance optimization etc. So for example X.org is used in conjunction with some desktop environment like Gnome or KDE in most of the distributions. How can Synergy OS be compatible to these distributions if Synergy OS comes with it&#8217;s own special SynergyView GUI?</p>
<p>The answer is quite easy. We just change the boot process of a target distribution when installing Synergy OS on top of it. This means that after installing Synergy OS on your linux box, the desktop environment of your Xorg configuration will be replaced by starting the SynergyView instead. The SynergyView is also based on X btw. &#8211; for Windows SynergyView runs native on the Windows desktop. It even runs on BSD systems.</p>
<p>It is the same for any other overlay. For example the standard shell will be replaced by the Synergy (the EcmaScript shell) which is able to interpret javascript on console etc.</p>
<p>In general, a linux distribution or in the future any other OS is nothing more or less than just a Synergy OS backend target. We customize the install process of Synergy OS for every backend OS and need to write the foundation classes backends for missing components support but thats all. Even the foundation classes (e.g. the Synergy OS Framework) must not be ported. It&#8217;s Java.</p>
<p><strong>Does that mean Synergy OS fit&#8217;s into different design goals automatically?</strong></p>
<p>Yes. It sounds crazy &#8211; but this an effect of Synergy OS&#8217;s meta design. If you want Synergy OS to run perfectly on your Mobile Phone or Netbook, you can just install Synergy OS on a linux distribution customized for mobile (For sure there need to be a Synergy OS backend for this OS/distro). Normally it just overlays the GUI, the standard UI, some things in the boot process etc. to be able to run all Synergy OS apps smoothly.</p>
<p>Synergy OS does for example not touch the Xorg configuration. So special settings for mobile distributions would not be affected and the SynergyView just applies to the special requirements of that mobile distribution. Same for power magement, audio, hardware accelleration etc.</p>
<p><strong>From an application developers point of view this means</strong></p>
<p>As an application developer you can write one application that runs on any operating system supported as a backend of Synergy OS. The number of supported OS&#8217;s will grow fast because there is more or less nothing to do to port Synergy OS to different distributions or even to BSD.</p>
<p>For an application developer there is also no magic in writing cool new applications for Synergy OS. There are two types of Apps that can be written for Synergy OS in general:</p>
<ul>
<li>LocalApps</li>
<li>WebApps</li>
</ul>
<p>A LocalApp runs locally without any SynergyView (Web GUI). It can be implemented in Javascript or Java. But you will choose Javascript normally. It has full access to the Synergy OS Framework. Console programs, system services and other scripts etc. should be implemented as LocalApp.</p>
<p>A WebApp is a zipped application bundle that is splitted into it&#8217;s frontend and backend part. There is code which needs to be executed in the SynergyView environment and code that needs to be executed in the webserver backend. So a WebApp bunde contains &#8220;frontend&#8221;, &#8220;backend&#8221; and &#8220;resources&#8221; directories. It is packed as zip file just for easier singning, installing and deployment reasons. A WebApp can only be written in Javascript (maybe we write some kind of cross-compiler like GWT in the future). The backend of a WebApp can be written in Java too but this is not recommended.</p>
<p>So if you have some experience in web application development or just in scripting ActionScript, Javascript, JScript or one of the hundreds of other EcmaScript based languages there is more or less no learn for you. You can directly start wirting amazing Apps for Synergy OS.</p>
<p><strong>The future goal</strong></p>
<p>Synergy OS must not be regressed to support Linux as backend OS. Why not implementing Synergy OS foundation classes and component backends for BSD, Windows and Mac?</p>
<p>The Synergy OS Framework is written in Java, the EcmaScript VM is V8 and already ported to any modern OS. So there is not much todo to port Synergy OS to any other modern real operating system.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.synergyos.org/index.php/2010/01/21/synergy-os-runs-on-top-of-any-operating-system-specially-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction to Synergy OS: The first meta Operating System</title>
		<link>http://www.synergyos.org/index.php/2010/01/17/plans-of-synergy/</link>
		<comments>http://www.synergyos.org/index.php/2010/01/17/plans-of-synergy/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 12:59:45 +0000</pubDate>
		<dc:creator>Aron Homberg</dc:creator>
				<category><![CDATA[Concepts]]></category>
		<category><![CDATA[Chrome OS]]></category>
		<category><![CDATA[ES Operating System]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planning]]></category>
		<category><![CDATA[Synergy OS]]></category>
		<category><![CDATA[Web OS]]></category>

		<guid isPermaLink="false">http://synergyos.org/?p=5</guid>
		<description><![CDATA[The Synergy OS aims to combine the best of all operating systems (specially Linux), Chrome OS and ES Operating System.]]></description>
			<content:encoded><![CDATA[<p>The Synergy OS aims to combine the best of any Operating System (specially Linux), Chrome OS and ES Operating System.</p>
<p>The goal is to design a rock-solid, fast, secure, customizable and portable meta Operating System that is a full Web OS (all user applications are local or remote web application bundles).</p>
<p>Some buzz-statements:</p>
<ul>
<li>Web OS doesn&#8217;t mean you need an active internet connection. By default WebApps are running locally</li>
<li>Synergy OS will run an any device automatically that runs a Synergy-compatible operating system</li>
<li>Apps don&#8217;t need to be ported at all between operating systems</li>
<li>All installed Apps on a Synergy OS driven device can be executed on any other device through a web browser</li>
<li>So you can work with your desktop runnig at home at any time and any place in the world it you have a broadband internet connection</li>
</ul>
<p>And many many more features available. It redefines operating systems and desktop computing at all.</p>
<p>The detailed plannings of Synergy OS will be published here for public community discussion.</p>
<p>Please join the development community and discuss about the ideas of Synergy OS!</p>
<p>Regards,<br />
Aron</p>
<p><em>Photo by: <a href="http://commons.wikimedia.org/wiki/User:Gargaj">Gargaj</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.synergyos.org/index.php/2010/01/17/plans-of-synergy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

