What is YouOS?

A web operating system

What the heck is a web operating system?

The answer to this question is still evolving, but let's start by examining the core functions of a traditional, desktop operating system.

A "traditional" operating system manages:

  • the interaction between hardware and software via drivers
  • the memory and execution of programs
  • the layout, retrieval, and modification of files on disk
  • user management, permissions, and preferences
  • higher level functionality like networking and user interface widgets
Now, this is not a comprehensive list - many operating systems do far more than this, often blurring the distinction between OS and application (sometimes with legal consequences). It's fair to say though, that most operating systems do everything on this list and do it well. The common user, we would venture, hardly notices the seamless integration between application, OS, and hardware.

There is a glaring weakness to all traditional operating systems, however. They are, at the root, designed to run on one computer. Extensions like NFS and remote desktop alleviate this weakness to some extent, but they do nothing to enable collaboration on a larger scale between users on different computers. Imagine what you could do if every one in the world could work and play on the same "virtual computer".

Enter the web - what hasn't been said about the web's ability to allow people to share, connect, and collaborate? The web is already halfway there to the virtual computer idea.

YouOS strives to bring the web and traditional operating systems together to form a shared virtual computer. To you, it's one giant computer that you and your friends can work on. To us, it's all the servers, routers, software, bandwidth, and engineers to keep this grand experiment in collaborative computing running.

A liberation of software from hardware

YouOS and its applications run entirely within a web browser, but have the look and feel of desktop applications. An application's code and data reside remotely but are executed and modified locally. This model allows for a great deal of freedom. You can edit a document at home in a text editor and then go to school or work and instantly access the same text editor and document.

It's a liberation. Software is no longer tied down to one computer.

In fact, you don't really even need to own a computer; you just need to borrow one on occasion. Working out of internet cafes or libraries? Your desktop, applications, and data travel with you from cafe to cafe, session to session. And tedious things like data backups and archiving? We'll take care of them for you.

Let's dwell on this concept of liberation. YouOS is a shared computer that houses your data and applications, but you are the owner of this data and applications. If you wish to export, backup, or completely erase your property, we will provide the means to do this. We do not ground you. You are free, as the old saying goes, to come and go as you please.

A tinkerer's paradise

Application development should be easy. Tweaking an existing app to suit your needs should be trivial. Tinkering, experimenting, and learning should be central. At the same time, users should be able to develop the next great spreadsheet application. YouOS strives for the best of both worlds.

To this end, we've made app development and management central to YouOS. It's baked right into the system. Anyone can click on the "develop apps" button and start coding or tweaking away. Developing apps requires a knowledge of html and javascript, and that's it. If that's not good enough, we're looking into making even simpler languages users can work in.

Need to tweak an app slightly to fit your needs? Pick that app and clone it. You now have your very own copy to modify as you wish.

You're a power developer and you want to create a power app to match? We've provided a javascript IDE with features like syntax checking and revision control. Not satisfied and want to work in your own environment? You can easily export and import apps as xml or text.

And what kinds of apps can you build? Take a look at this subset of the sample apps developed by the YouOS team:

  • RichTextWarrior - a rich text editor.
  • Wshell - a shell program, like in Linux. Try running "ps" or "ls" or javascript.
  • FlickRSS - want to have new pictures every time you log on? Use this.
  • Mersenne Prime Search - help search for special prime numbers.
  • goohoo - a not-so elegant way to search yahoo and google at the same time.
  • Penguin - an animated gif for your desktop
  • ChatWarrior - a chat room application

You can develop any kind of app: fully functional, fully fun, fully weird. And by no means are the apps listed above the final authority on functionality, fun, or weirdness. Fancy one? Clone or extend it and start tinkering away.

Still don't know what to work on? Get inspired by competing in our dev challenges: develop apps for prizes!

A set of open APIs

Everything in YouOS is built upon a set of open RESTful server APIs. The default YouOS client implementation (AJAX), the developer portal, the IDE - everything is built on simple, open xml accessible through the http protocol. What does this mean? It means anyone can write a client of their own - whether it's in another web page, a Flash movie, Konfabulator, or even a native Windows client. Don't like the IDE? Build your own that fits your needs!

The goal of these APIs is to replace and extend the APIs normally provided by a traditional operating system. What kinds of APIs are provided? The list is growing, but already provided are methods to:

  • Manipulate taggable datastructures from simple text files to versioned, distributed hash tables
  • Read and write xml web services
  • Manage user state and buddies
  • Send instant and persistent messages to users
  • Persist widgets, processes, and applications
The list of server APIs (and javascript APIs too) is growing quickly as we explore new kinds of applications and integrate user feedback. We fully understand that the breadth and depth of APIs is key to growing our developer base and providing quality applications.

And we're working on some stuff that is pretty far out as well. Need to split a computation task across hundreds or thousands of server computers? We're working on it. Need to distribute computation across your friends' clients? Ok. Want to embed Flash in your applications? Eventually. Hankering for an API that serves pictures of burritos? In your dreams.

An application delivery mechanism

Administering and delivering applications within YouOS is very easy. As a developer, you can control who can develop and release your apps. And when it comes time to release, it's as simple as clicking a button before the app is immediately available for execution.

All application code is currently released as open source (for which the developers own the copyright), but we are working on more flexible delivery mechanisms. A big todo on our plates is to allow for thorough monitoring and control of application execution in YouOS. Want to know how many of your buddies used an app vs. the general population? We'll let you know. Want to restrict the app to your buddies? Your wish is our todo.

As a thought exercise, imagine how wildly detailed we can get with the monitoring. Since all applications are objects, we can give you a running count of the functions called most often and even profile them for you. You can find out the common use case of your application and extend it!

A collaboration platform

YouOS was born as a result of the following questions we asked ourselves:

  • Wouldn't it be sweet if open source development was more like a multiplayer game, complete with rankings and all?
  • What are the implications of being able to share windows through a buddy list when we're working?
  • Is it even possible to build an OS that is built on sharing from the ground up? Like Kindergarten?
  • What if the OS itself was the community? Discuss.

Started on the idea of collaboration, YouOS is an experiment to incorporate it from the ground up. Don't be scared off by the word "experiment", and know that we will keep your data safe. What we really mean is that YouOS is an evolving answer to these questions, and your answer is as good as ours. We're nowhere close to our grand vision yet, but day by day, user by user, we're getting there.

Back To YouWhat? Overview
Home  |  YouWhat?  |  About Us

© 2006 WebShaka, Inc. Sponsored by our new projects: finding hotels and our online store to buy nfc tags.