II BASIC THEORY

II.1 What is ?

A web desktop or webtop is a embedded in a or similar client application. A webtop integrates web applications, web services, client-server applications, application servers, and applications on the local client into a desktop environment using the . Web desktops provide an environment similar to that of Windows, Mac, or a on and Linux systems. It is a virtual desktop running in a web browser. In a webtop the applications, data, files, configuration, settings, and access privileges reside remotely over the network. Much of the computing takes place remotely. The browser is primarily used for display and input purposes.

II.2 History

In the context of a web desktop, the term Webtop was first introduced by the (SCO) in 1994 for a web-based interface to their UNIX . Andy Bovingdon and Ronald Joe Record, who both explored the concepts in different directions, are often credited as the inventors.

II.3 About eyeOS eyeOS is an open source web desktop written in mainly PHP, XML, and JavaScript. It acts as a platform for web applications written using the eyeOS Toolkit. It includes a Desktop environment with 67 applications and system utilities. It is accessible by portable devices via internet.

III.3 eyeOS Implementation

III.3.1 Advantages of eyeOS

• Convenience: A personalized desktop on every supported client device

• Mobility: Access your desktop anywhere there is a supported client device

• Session Management: Server-side session management allows roaming users to access restored sessions from anywhere

III.3.2 Limitations

Security: Due to the fact that all data is transferred over the internet, it might be possible for a hacker to intercept the connection and read data. Although with the use of https 256-bit encryption and access control lists, this can be easily safe-guarded.

Speed: When using a web desktop the whole code used for visualization (.js/.css files, Flash player files, etc.) needs to be transferred to the local computer, so that it can be displayed. Further, network latency or congestion can intermittently slow webtop activity.

Application Features: Webtop delivered applications may not contain the full feature set of their traditional desktop counterparts.

Network Access: Web desktops require access to a network. If the client device is misconfigured or the network is unreachable then the web desktop is unavailable.

Controlled Access: In some webtop implementations and deployments a user's access to some applications and data can be restricted. This is also considered an advantage of webtops but can be viewed as a drawback from the user's perspective.

Central Control: The normal webtop user is not able to install additional applications or update existing applications. Updates typically must be performed by an administrator on the server side. Webtop users are dependent upon the webtop administrator whereas in the traditional desktop environment the user can fix and/or break the system by installing new software or updates. This can also be seen as an advantage for webtops. III.4 eyeOS applications

III.4.1 Basic Applications

A handful of eyeOS applications are installed by default - they include a file manager, basic word processor, a calendar application, a contact manager, feed reader, and web browser.

With a default eyeOS installation you will be able to create and read word documents

(with support for Microsoft Word's format), manage your calendar, contacts and mail, share files with other users on the system, listen to your music, and much more.

While some applications come preinstalled, there is a variety of applications that you can install later. Word Editor, Spreadsheet, Blogger, Chat, Audio Player, Browser, Calculator, Calendar – here’s the complete list.

III.4.2 Pre-installed applications eyeFiles: The file manager eyeFiles is the eyeOS file manager. From eyeFiles you can upload your files anddocuments from your hard drive to eyeOS, move and manage them between differentinstances of the application, and launch a wide variety of files to be reproduced/shownwith each specific application.

Once you are on the application, you will see three zones:

• The left bar with the common Actions and Places.

• A top bar with the current path. You can use it to navigate by text trough your Home space. Note that if you are root you will be able to navigate trough the whole eyeOS virtual .

• The files space, where you will see all the files and folders inside your current directory (by default, your Home directory). eyeDocs: The word processor eyeDocs is the eyeOS word processor. With eyeDocs you can create and edit rich documents in both eyeOS Document format or in Microsoft Word format.

Some features of eyeDocs are:

• Creating a document: To create a new document, open eyeDocs. You can do it from the Office menu in eyeDock. A new document will appear, so you can start writing.

• Saving a document: To save it, just click on “Save” or “Save As” button if you have not saved before the document.

• Opening a document: To open a document, you can click on “Open” button in eyeDocs or just click on the document from the file manager (eyeFiles).

eyeCalendar: The calendar application eyeCalendar is the eyeOS simple calendar. With eyeCalendar you can create events in a very visual and intuitive way, and move them along the time. To navigate to a specific date, just use the small calendar on the top right part of the application to move between months. When you're on the month you want, click on the day you're interested in and the displayed week will change to the selected one. eyeContacts eyeContacts is the system's Contacts Manager. With eyeContacts you will be able to create and maintain your contacts list. To launch it just click on Contacts at the Office menu at eyeDock. Adding a new contact

If it's the first time that you launch eyeContacts, you may want to go to the New Contact tab to start adding your contacts to it

From there you can fill all the information you want to add for the new contact. Take special care to the Name, Surname and Home Phone, since they will appear on the Contacts tab listed.

When you press the “Create” button, the contact will be created. You will be returned to the Contacts tab, and you will be able to view, edit and remove it.

• Viewing, editing and deleting a contact: To view/edit or remove a contact, just select it from the list and click on the: appropriate button (“View” to view and edit it or “Delete” to remove it).

• Importing and Exporting contacts: You may also want to import and export your Contacts from/to vCard format. You can do it from the Manage tab, by clicking on “Import from vCard” or “Export all as vCard” buttons. eyeBoard: The bulletin board

eyeBoard is a place in eyeOS to leave messages that all the users on the server will see. To launch eyeBoard, click on Bulletin Board on the Network menu at eyeDock. When you open it you will see the latest messages from all the users on the server and you will be able to send new messages

• Sending a message: To send a message just write it on the box and hit Enter or click the “Send” button.

• Cleaning the board: To clean the board you must be logged in as root. Then you will see an “Empty” button that will clean all the messages from the board when clicked.

eyeMail: The e-mail client

With eyeMail you can handle trough eyeOS all your mail addresses, reading your incoming mail (and saving it so you can access it later) and writing and sending mails. To launch eyeMail, click on Mail Client on the Network menu at eyeDock. When you open eyeMail for the first time you will see a configuration box asking you to configure your first mail account in order to start using eyeMail.

• Retrieving mail: If you want to load the new incoming mail, click on the name of the account you want to update and then click on “Inbox” in the Folders box and wait for eyeMail to load your new incoming mail.

• Sending a new mail: To send a mail, just select the account you want to use to send the mail by clicking on it's name on the Accounts box, and click on “Send” button on eyeMail's toolbar. The Send Message window will open. Write your mail, recipient and subject and click on “Send” button. eyeRSS: The feed reader eyeRSS is the eyeOS RSS feed reader. It can handle RSS feeds and save them so you can access and read all your news feeds from a single place, inside your eyeOS desktop.

You can launch eyeRSS by clicking on RSS Feed Reader on the category Network at eyeDock.

Adding a new feed: To add a new feed, just click on the “Add feed” button, and write your feed's URL. For example, if you want to add the eyeOS Blog with all the projects news and releases, type http://feeds.feedburner.com/eyeOS. You can add various feeds with the same window, and close it when you are done. The new feeds are going to be placed at the Feeds box. Reading a feed: To read a feed, just click on the feed's name on the Feeds box.

• To update a feed, do the following process:

1. Click on the feed's name at the Feeds box.

2. Click on the “Update” button at the Actions box.

3. Wait the feed to be updated. It will pop up with the latest news when it's done.

• If you want to delete a feed from your eyeRSS, do the following:

1. Click on the feed's name at the Feeds box.

2. Click on the “Delete feed” button at the Actions box. eyeProcess: The process manager

Sometimes an eyeOS Application can hang on a large process so you can't close it. Then it's when eyeProcess is the perfect solution for you. With eyeProcess you can close any running application. To launch eyeProcess, click on Process Manager at the System category at

eyeDock. If you open eyeProcess without any opened Desktop Application, you will see the default applications and system parts loaded.. Note that they are some important needed parts for your Desktop to run correctly, and you may not want to close them.

To close an opened application, just select it by clicking on it's name at the eyeProcess sortable table, and click on the “Kill Process” button. Note that if there is more than one instance of a single application, you will only close one of the instances.

eyeControl: The control center eyeControl is both the System preferences application where you can choose all your desktop settings and preferences, and the system administration menu where you can change your system's behavior if you are logged as root user. To open eyeControl, click on System references on the eyeBar menu.

Changing your Desktop preferences: When you open eyeControl as a normal user you will see three groups: Personal, You will also see how many used space you have on your account in the bottom right part of eyeControl. From the Personal menu you can change your user information, password and language that you are using on this system. To do any of this actions, first click on the preferences panel you want to go it, change/add the required fields and click on the submit button to save the changes. From the Look & Feel menu, you can change your Desktop's wallpaper (or restore the eyeOS default one if you changed it before), and change your Theme between the available themes for the current eyeOS System. Finally, from the System menu you can update the applications that will autorun when you log in as your user (so you can add a new application, for example, to open eyeFiles each time you log in), or delete current ones. It's not recommended at all to remove the Desktop applications, since you may leave your account unusable without an administrator's fix. You can also change the Places of your eyeFiles with the File Manager menu, and to change your eyeNav's default start page from the Web Browser menu.

General Administration: The General menu inside the Administration panel allows you to update some system's option such as the System's host name (that appears as the browser's title after the username), and some options such as allowing new users to register in your system, allowing public directories to be created, the system's default language and the Login's box theme that is being used. To update some of the options, just change their values to the new ones and click on the “Save changes” button. Note that you can also completely uninstall your eyeOS from that panel, by typing your root's password and clicking on “Uninstall eyeOS” button. This is useful when you want to completely remove your eyeOS installation and you can't do it due to the permissions assigned to eyeOS files during the Installation. Note that uninstalling your eyeOS can't be undone. Please do it only when you and all the users inside your system have backed up all the important data.

Managing Users: The Manage Users menu allows you to create new users, by clicking on the “New” button and filling the form. You can also edit a current users (for example, for assigning them permission to access a new group you have just created or change their password), by selecting the user you want to modify and clicking on the “Edit” button. Finally, you can remove an user and all it's data by selecting the user and clicking on “Remove” button. Note that you can't remove the root user and this action can't be undone.

Managing Groups: The Manage Groups menu allows you to create new groups to work collaboratively between users. This is one of the most important options inside eyeOS because it allows you to create shared folders between users, so they can work between them. To create a new group, just create on the “New” button and type the group's name. Once it's created, it won't be assigned automatically to any user. You can go then to the Manage users menu, and edit some users to assign them to the new group. The next time that those users will log in into their account and go to eyeGroups folder inside the Places category in eyeDock, they will see their new group and will be able to copy and manage files inside it.

Installing new software: To install new software into your eyeOS, you can do it from the eyeSoft repositorybased application, or by uploading an eyeOS Prepared Package (usually named eyepackages) to your home folder, being root user, and clicking on it. To install new software trough eyeSoft, just open it by clicking on the “Launch eyeSoft” button in the Repositories menu. eyeSoft will be then opened. The first thing you should do every time you open eyeSoft is to click on the “Update” button so it can refresh its sources and show you the latest available packages and to install an application, just click on it on the Applications list and click on “Install” button. The Install process will start by showing you some informations about the application, and asking you to accept it's license by clicking on “Accept” button. Then the application will be downloaded and installed into your system. Wait for the Application installed successfully message and then close the window. You can now launch your new Application from the Applications folder. Note that every application you install will be available for all users inside your system. To remove an application, just select it (note that the Installed message appears next to the application on the list) and click on “Uninstall” button. The application will be now uninstalled from your system. Finally, to search over the application list, just type the word you want to search and press the “Search” button. The list will be updated with the results of your search. To clean the search and show all the applications again, just remove the search words and press the “Search” button again. III.5 Comparison

III.5.1 G.ho.st

The G.ho.st (usually called Ghost) service provides, over the Internet, a working environment that mimics the classic desktop provided by personal computer operating systems. As an internet based service, users are able to create, save and return to a working environment from different physical computers. G.ho.st calls itself a Virtual Computer.

Such services are not considered operating systems in the traditional sense although they are sometimes referred to as Web Operating Systems. Whilst they can include a GUI (e.g. a desktop), a (virtual) file system, application management and security, they do not contain a kernel to interface with physical hardware. Therefore, to use the service an operating system is required, from which the service can be run.

III.5.2 DesktopTwo

Desktoptwo is a free Webtop developed by Sapotek. It has a Spanish version called Computadora.de. Desktoptwo is web-based and requires Adobe Flash Player to operate. The web applications' found on Desktoptwo are built on PHP in the back end. Features include drag-and-drop functionality. Sapotek has liberated all the web applications found on Desktoptwo through Sapodesk on an AGPL license.

Desktoptwo belongs to a category of services that intend to turn the Web into a full-fledged platform by using web services as a foundation along with presentation technologies that replicate the experience of desktop applications for users. Sites like Facebook attempt to create a similar effect by exposing their APIs and allowing developers to create applications upon these.

Some of the features currently found on Desktoptwo are: File sharing, , Blog creator, Instant messenger, Address book, Calendar, RSS Reader and Office productivity applications. III.5.3 Online OS

The Online Operating System is a fully multi-lingual and free to use web desktop written in Javascript using . It is a windows-based Desktop environment with open source applications and system utilities developed upon the reBOX framework by iCUBE Network Solutions, an Austrian company located in Vienna.

As applications can be executed in an integrated and parallel way, the OOS can be considered a web operating system, web desktop or webtop. It provides basic services such as a GUI, a virtual file system, access control management and possibilities to develop and deploy applications online. As the Online Operating System is executed within a web browser, it is no real operating system but rather a portal to various web applications, offering a high usability and flexibility.

III.5.4 Netvibes

Netvibes is a multi-lingual Ajax-based personalized start page much like My Yahoo!, iGoogle, and Microsoft Live. It is organized into tabs, with each tab containing user- defined modules. Built-in Netvibes modules include an RSS/ feed reader, local weather forecasts, a calendar supporting iCal, bookmarks, notes, to-do lists, multiple searches, support for POP3, IMAP4 email as well as several webmail providers including , Yahoo Mail, Hotmail, and AOL Mail, Box.net web storage, Delicious, Meebo, Flickr photos, support with a built in audio player, and several others. A page can be personalized further through the use of existing themes or by creating your own theme. Customized tabs, feeds and modules can be shared with others individually or via the Netvibes Ecosystem. For privacy reasons, only modules with publicly available content can be shared.

Netvibes supports with built in audio player The Netvibes Ecosystem is a collection of user submitted modules/widgets built using Netvibes Universal Widget API (UWA), feeds, podcasts, events, tabs, and "universes". A "universe" is a publicly viewable customized page of another entity.

III.5.5 Comparison of web desktops

Support Browser Downloadable Name Developer Engine Free License external GUI Support to Web server applications

Open Yes Windows+ DesktopTwo IE7 Sapotek Flash Source Yes No (Beta) Mac-like AGPL

IE7, Mac-like, Firefox2/3, PHP + A Open eyeOS eyeOS Team Yes Yes with Yes , JAX Source taskbar Opera

IE7, Firefox2/3, Yes (Available Yes Windows- G.ho.st Safari has G.ho.st Inc Flash Proprietary Yes on Google (Alpha) like partial Code's website) support

Netvibes Netvibes IE7 Ajax Yes Proprietary Yes Tab-based No Team

iCUBE FF 1.5 and JavaScri Windows- Online OS Network Yes Proprietary Yes No higher, IE7 pt/Ajax like Solutions III.6 Webtop versus Desktop

III.6.1 Software Management:

• Ensures all users are running the same current versions of all applications

• Updates and patches need only be applied to the server - no need to update multiple clients

• No need for software to distribute software over the network

III.6.2 Security:

• Less prone to typical attacks, viruses, worms, unpatched clients, vulnerabilities

• Sensitive data stored on secure servers rather than scattered across multiple potentially unprotected and vulnerable clients (e.g. smart phones and laptops)

• Encrypted transmission of all data between server and clients (e.g. https)

• Software Management features (above) accommodate quick and easy application of security advisories on server side.

• Webtop administrator can control which applications and data each user is allowed to access

III.6.3 High Availability:

• From a single device access Windows, UNIX, Linux, and Mainframe applications, all at the same time

• Minimal hardware requirements for client devices

• Less downtime - robust server system more easily protected and less likely to fail than multiple client desktops • Fault tolerance - if a client device fails for any reason simply replace it with any other supported client device without loss of data, configuration, preferences, or application access