Eye OS
Eye OS
To
Submitted By:
By:- Vijay Soni
V Sem. (Computer Engineering)
Govt. Engg. College, Ajmer
[email protected]
Written in : PHP, XML, JavaScript
Platform : Cross-platform
Available in : Multilingual
License : AGPL
Website : http://eyeos.org
Introduction :
WebOS and Web operating system are terms that describe network services for Internet scale
distributed computing, as in the WebOS Project at UC Berkeley, and the WOS Project. In both cases the
scale of the web operating system extends across the Internet, like the web..
“More generally, WebOS refers to a software platform that interacts with the user through a web
browser and does not depend on any particular local operating system”
system
In a way the term is a misnomer, because it doesn’t mean a ‘real’ Operating System in the traditional
sense - like Linux or Windows. A better term is probably ‘Web Desktop’…
These services turn the desktop into a service that runs on the Internet rather than on the local
computer. As these services include a file system and application management system, they increasingly
overlap with the functionality of a traditional desktop computer operating system
From a technical point of view, eyeOS is a platform for web applications, created with the idea to
make easier the development of these applications. Nowadays there are many web related
technologies such as PHP, XHTML, CSS, Javascript, and it is required to know a lot of languages
and understand a big number of concepts to create web applications. Furthermore, each web
browser interprets this code in a different way and each version and PHP configuration behaves slightly
different from the rest.
EyeOS seeks to satisfy these problems and some others derived from the web development, offering to
the programmers a homogenous platform for their web applications, using only PHP and
Javascript delegating to the system the resources management, the communication with the
browser, the security, etc…
The first publicly available eyeOS version was released on August 1, 2005 as eyeOS 0.6.0 in Barcelona
(Spain). At the time, it greatly participated in creating the definition of a web operating system and
acted as a concept. Quickly, a worldwide community of developers took part in the project and helped
improve it by translating, testing and developing it.
After two years of development, the eyeOS Team published eyeOS 1.0(on June 4, 2007). Compared with
previous versions, eyeOS 1.0 introduced a complete reorganization of the code and some new web
technologies, like eyeSoft, a portage-based web software installation system. Moreover, eyeOS also
included the eyeOS Toolkit, a set of libraries allowing easy and fast development of new web
Applications.
With the release of eyeOS 1.1 on July 2, 2007, eyeOS changed its license and migrated from GNU GPL
Version 2 to Version 3.
Version 1.2 was released just a few months after the 1.1 version and integrated full compatibility with
Microsoft Word files.
eyeOS 1.5 Gala was released on January 15, 2008. This version is the first to support both Microsoft
Office and OpenOffice.org file formats for documents, presentations and spreadsheets. It also has the
ability to import and export documents in both formats using server side scripting.[7]
eyeOS 1.6 was released on April 25, 2008 and included many improvements such as synchronization
with local computers, drag and drop, a mobile version and more.[8]
eyeOS 1.8 Lars was released on January 7, 2009 and featured a completely rewritten file manager and a
new sound API to develop media rich applications. Later, on April 1, 2009 1.8.5 was released with a new
default theme and some rewritten apps such as the Word Processor or the Address Book. On July 13,
2009 1.8.6 was released with an interface for the iPhone and a new version of eyeMail with support for
POP3 and IMAP.
Features :
• Fast access to your information from any device with a web browser;
• You can create workgroups, managing user profiles and groups to facilitate
collaborative work between them;
• Blackboard to send messages between users and members of your groups;
• Work collaboratively with the same document at the same moment
• Allows an eyeOS platform to connect with the end users outside the system by
allowing any eyeOS user to share his/her files with everyone, getting a simple
URL for any file which should be shared;
• Files links can also be sent via e-mail;
• Files can also be shared with a password protection and only for certain
groups of users;
Open Source
It is simple to access the EyeOS code, because it follows an open development model
with a public SVN, version control system, which tracks the development of the project.
Furthermore, all of the EyeOs code is documented so that you can start using it from
day one.
Develop Easily
Learning to program in EyeOs is quick and easy. And once it is done, you don’t have to
worry about the system at all! Thus, it is very easy to create an application. EyeOs has
been designed as a totally extensible system so that anyone can create an application
using PHP and JavaScript and integrate it into the system. Its free software model and
free license mean that the software can be adapted without problems.
• Accelerate the learning process for cloud computing with an open source
software workload.
• Understand the anatomy of cloud images the contain operating systems,
middleware and applications.
• Increase the speed to value for the Solution Edition for Cloud Computing.
Extras :
Each core part of the desktop is its own application, using javascript to send server commands as the
user interacts. As actions are performed using ajax (such as launching an application), it sends event
information to the server. The server then sends back tasks for the client to do in XML format, such as
drawing a widget.
On the server, eyeOS uses XML files to store information. This makes it simple for a user to set up on the
server, as it requires zero configuration other than the account information for the first user, making it
simple to deploy. To avoid bottlenecks that flat files present, each user's information and settings are
stored in different files, preventing resource starvation from occurring.
The system will automatically call the events when they are fired, add the app to the Processes table so
it can run in multiple instances (e.g. two or more opened documents in a text editor), and protect the
app against external attacks.
Please note that eyeos Toolkit comes by default with any version of eyeos. It's not visible, it's just under
the hood. It lets you to create your apps using it. You will learn more about the eyeos toolkit and how to
use it on the eyeOS Developers Manual.
Working Of EyeOS
Screen Shots :
EyeOS Installation
EyeOS is Open Source Can be Downloaded from Popular Website http://sourceforge.net known for
Hosting Open Source Project..( http://sourceforge.net/projects/eyeos ).
• EyeOS 1.*
• EyeOS 2.*
• PHP 5.2.10
• Curl extension
• GD extension
• Mbstring extension
• Mcrypt extension
• Mysql extension
• Mysqli extension
• SQLite extension
• PDO extension
• PDO MySQL Driver
• PDO SQLite Driver
• JSON Support
• shm memory support
• Python 2.5.0
Note : EyeOS 1.* will install on a fresh CentOS LAMP server install however CentOS does not release
the required packages for an EyeOS 2.* install as standard
Lets Get To The Programming
EyeOS directory structure
eyeos/extern: Files visible from outside, as CSS style sheets, images, etc…
eyeos/system: System directory, it contains services, libraries, the kernel and global configurations.
eyeos/users: Users directory with all their documents and configuration files.
define('SQL_USERNAME', 'root');
which defines the username for the database connection.
Furthermore you must have activated the following PHP modules: curl, gd,
mbstring, mcrypt, mysql, mysqli, sqlite, pdo, pdo_mysql, pdo_sqlite, suport shared memory
(recommended), Json support activated (recommended).
We also recommend the use of Mozilla Firefox on its version 3.5. Moreover we suggest the use of the
Firebug extension that makes the application development easier.
Application structure
An important aspect to know is the structure of an application. The directory tree must be as shown
below:
when the application starts or we want to load additional javascript code, we must
define the “_run” function on the applicationname.php file and insert the initialization
code on it.
When we close the application the system takes care of free the resources but
offers us the possibility of executing additional code. To do this, we must define the
browser when the application is initiated. This is the responsible of operating with the
To interact with the server, the javascript code use de call eyeos.callMessage
which send an asynchronous message and that have as parameters the name of the
message, all the specific parameters and the callback function that will be executed
located on the server side. This file has a function for each possible message. Let’s
This code, on being executed by the browser would send a message whose name is “whatDayIs”
and that send by parameter an array with a string. On returning from the message, the specified
function would be executed that, in this case, would tell us what day of the week is in a dialog. We must
note that the variable rPars on the callback function contains the results emitted on the return of the
message.
As we have said, this message is received on the server side by a php file. This file is the responsible of
returning the corresponding response:
As we can see, it describes the behavior of the function that has by name the
name of the message, and returns what day of the week we are.
Complete example
Now that we know how the files are and how the functions affect the behavior of
Demo.php
Demo.js
Bibliography :
i. http://www.eyeos.org/
ii. http://forums.eyeos.org
iii. http://sourceforge.net/projects/eyeos/
iv. http://www.linuxjournal.com/content/eyeos-web-based-desktop-os