0% found this document useful (0 votes)
650 views

Eye OS

This document provides an introduction and overview of EyeOS, an open source web operating system. EyeOS allows users to access documents, files, applications and a desktop environment entirely through a web browser, without needing a local operating system. It is written in PHP, XML, and JavaScript and can be accessed across any platform or device with a web browser. Key features highlighted include file sharing and collaboration capabilities, a suite of default applications like word processing and email, and an extensible framework for easily developing new web applications. EyeOS also aims to bring the benefits of cloud computing by running entirely online rather than locally.

Uploaded by

Vizay Soni
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
650 views

Eye OS

This document provides an introduction and overview of EyeOS, an open source web operating system. EyeOS allows users to access documents, files, applications and a desktop environment entirely through a web browser, without needing a local operating system. It is written in PHP, XML, and JavaScript and can be accessed across any platform or device with a web browser. Key features highlighted include file sharing and collaboration capabilities, a suite of default applications like word processing and email, and an extensible framework for easily developing new web applications. EyeOS also aims to bring the benefits of cloud computing by running entirely online rather than locally.

Uploaded by

Vizay Soni
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

INTRODUCTION

To

The Web Operating System

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

Type : Web Operating System

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’…

WEBTOP is another name for WebOS…


What Is EyeOS?
eyeOS is an open source web desktop following the cloud computing concept that seeks to enable
collaboration and communication among users. It is mainly written in PHP, XML, and JavaScript. It acts
as a platform for web applications written using the eyeOS Toolkit. It includes a Desktop environment
with applications and system utilities. It is accessible by portable devices via its mobile front end.

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…

Basic structure of eyeOS :


The platform is created over a client-server architecture, where eyeOS is the server and the client
usually is a web browser.
Cloud Computing
Cloud computing is Internet-based
based computing, whereby shared resources, software, and information
are provided
rovided to computers and other devices on demand, like the electricity grid.

 Cloud computing is a natural evolution of the widespread adoption of virtualization, Service-


Service
oriented architecture and utility computing
 This frequently takes the form of web-based
web d tools or applications that users can access and use
through a web browser as if it were a program installed locally on their own computer
 Some of the larger IT firms that are actively involved in cloud computing are Fujitsu, Micro
Microsoft,
Hewlett Packard, IBM,
BM, VMware, NetApp and Dell.
 Cloud Computing Is a Service
o IaaS - Infrastructure as a Service
o PaaS - Platform as a Service
o SaaS - Software as a Service
History :

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 :

 File Sharing Platform


With eyeOS you can manage and save your files with a synchronitzatoin between
your computer and a virtual network drive connected with eyeOS..

• 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;

 The Base Applications


eyeOS comes by default with applications to create and work with Office files (with a
word processor and a spreadsheet program), calendar, diary, email (with POP3/IMAP
support) and much more. EyeOs aims to be a great stable suite for comfortable online
work, both individually and with other users simultaneously.

 Better, Easier Development


Making eyeOs 2.0 applications is easier than ever. The GUI (graphical user interface) is
completely implemented in JavaScript, and the system is based on OOP (object-oriented
programming) and can be expanded or modified by adding classes and methods. The
new store methods (GenericDao) allow you to save and retrieve data from the database
transparently: it is not necessary to know SQL. Creating RIA (rich Internet applications) is
easy and fast. Now eyeOS is a framework that combines JavaScript and PHP: there is no
quicker and easier way to create a RIA.
 RIA Framework
EyeOS is not only a web desktop with its own valuable applications; it has been designed
from the beginning to enable easy development and creation of new applications.
EyeOS 2.0 is the perfect development framework for quick and easy creation of rich
Internet applications. It has been completely developed with open technology and
widely accepted standards such as PHP, MySQL, JavaScript, log4php, PHPUnit,
OpenOffice and others, enabling the system to function on a common web server
without any modifications, and using any standard browser without any additional
plug-ins installed.

 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.

 EyeOS as the Cloud Computing


Working together IBM and eyeOS are making available a sample virtual Linux desktop
workload for the Solution Edition for Cloud Computing. Clients who choose to the eyeOS
sample workload can:

• 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 :

 Ublquity : Access your documents, files and applications


from anywhere and any device.
 Flexibility : From the small business to the big corporation.
Also for individual use. There is an eyeOS for you!
 Integration : The eyeOS architecture makes easier and faster
the integration of any web application that you use
 Slmpllclty : From its first steps. eyeOS has been planned and
created to be intuitive and easy to use.
 Collaboration : Share files and edit them in a real-time
collaboration suite with other users.
 Privacy: Decide where your files are: You can have your own
eyeOS server!
 Security: Control your eyeOS. You are who manage roles
and permissions for each user.
 Low costs: All in one in a single platform: the best way to
optimize time and resources.
Structure And API :
For developers, eyeOS provides the eyeOS Toolkit, a set of libraries and functions to develop
applications for eyeOS. Using the integrated Portage-based eyeSoft system, one can create their own
repository for eyeOS and distribute applications through it.

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.

What is the "eyeOS Toolkit"?


The eyeOS toolkit consists in a group of Widgets, which are PHP+AJAX classes prepared to receive
instructions and communicate with the application. Making an application is as simple as choosing your
widgets, grouping them through the addFriend method and adding events to them (e.g. what should the
application do when a button is clicked).

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 ).

There Are 2 Versions Of EyeOS.

• EyeOS 1.*
• EyeOS 2.*

EyeOS 2.* Server Requirements:

• 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

It is important to know how eyeOS is organized to be able to develop applications. In eyeOS


everything has a specific place to be located.

The eyeOS directory tree can be summarized as seen below:


eyeos/apps: Directory where the applications are located.

eyeos/extern: Files visible from outside, as CSS style sheets, images, etc…

eyeos/extras: Extra files.

eyeos/system: System directory, it contains services, libraries, the kernel and global configurations.

eyeos/users: Users directory with all their documents and configuration files.

eyeos/workgroups: It contains the files referred to the user groups.

General configuration of eyeOS


One of the most important files that defines the operation of eyeOS is the settings.php file,
which is located on the eyeOS root, along with the index.php file. In this file constants are defined and
later used in all the eyeOS code. For example:

define('SQL_USERNAME', 'root');
which defines the username for the database connection.

Preparing the environment


All the projects must be developed in an adequate environment. If, for example we are developing an
application for GNU/Linux, it is better to use a GNU/Linux environment, otherwise the task would
become quite bothersome task. Let’s see which requirements our environment should have:

• Subversion Client: we will need it to download the latest eyeOS code.

• Servidor Apache 2: the only server officially supported.


• PHP 5.2: the required version since eyeOS 2.0 and above.

• PHP Editor: any suitable text editor is valid.

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:

eyeos/apps/ Directory that contains the code of each application

eyeos/apps/applicationname/ Main directory of the application

eyeos/apps/applicationname/applicationname.js GUI code of the application

eyeos/apps/applicationname/applicationname.php Code that receives the messages generated on


the GUI and emits the results.

eyeos/apps/applicationname/info.xml XML that contains the information of the application, it is not


mandatory but its existence is highly recommended.

eyeos/apps/applicationname/extern/ Contains the files of the application that must be accessible


from the browser, such as the images, the EyeOS 2.0 Developer Manual 4 css…

Initializing and ending of an application


When an application is initiated, the system takes care of loading the javascript

code contained in the file applicationname.js. If we want certain code to be executed

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

function “close” in the file applicationname.php.


Messages
So, in a common way, an application contains two files: applicationname.php

and applicationname.js (besides info.xml). The javascript file is executed by the

browser when the application is initiated. This is the responsible of operating with the

graphic interface of the application and manages all its events.

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

when the response is returned.

These messages are received by the file applicationname.php which is

located on the server side. This file has a function for each possible message. Let’s

see this on an example:

We can see a snippet of js code that sends the message bellow:

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

an application it is the time to see an example:

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

You might also like