Say Hello ▶

amoebaOS for Cloud Computing

Aug 3, 09

The definition of Cloud Computing varies depending on who you ask, or what resource you look to. The general consensus among those who are pushing this area forward is that "Cloud Computing" is a broad term used to represent virtually hosted "Software as a Service" applications where development costs are recouped through service fees rather than the purchasing of goods.

Here at amoebaOS, we're taking a slightly different approach. amoebaOS is planned to be a "freemium" service, where users can pay to upgrade their storage space or to add functionality. In addition to this, software vendors can choose to charge for their applications in a similar manner to how today's desktop applications are provided. Since these concepts are more akin to the current model of software distribution, our hope is to create a smooth transition for first-time cloud users. Since amoebaOS was created as an enterprise system, one of our primary objectives is to provide each user with a tailored experience that they can customize to every detail. We don't want people to feel like using amoebaOS causes them to be confined to a set way of working or thinking. The best way to go about "making everyone happy" is to provide the tools and the feedback loops required for them to essentially make their own user-experience. The following are a number of examples of how amoebaOS passes this level of control on to the end-users.

Custom Themes

Once you've logged in, amoebaOS is 100% customizable. Every color, shape, button and window is generated using style information from a few Cascading Style Sheets. Applications that adhere to the styling guidelines are styled entirely by the System, and are thus configurable within System Preferences. A few themes come packaged with the Operating System, but users can download new themes and apply them as desired. One of our long-term goals is to create a single location where the most popular user-created themes can be found, based on votes and usage. This would be incorporated into the application store, and would allow for designers to charge for their themes at their choosing.

Optional Default Applications

Like the standard desktop Operating Systems, amoebaOS includes a suite of productivity applications as well as some other useful and interesting programs pre-installed. While we hope these applications appeal to a wide audience because of their simplicity and functionality, choice is ultimately the best bundled feature we can provide. These default apps can be replaced with any alternatives provided by the community or other developers, or even with equivalent web-based applications that expose data APIs for integration into the OS. Since none of the included suite of programs require Adobe Flash to be installed, users can easily replace these with Flash-based alternatives if they feel that technology is better suited to their work flow.

Interface Flexibility

Although we think it's amazing, we understand that not everyone is enthralled with the interface used in Macintosh OS X. A lot of inspiration was drawn from the way Apple's desktop Operating System manages applications, documents, windows, data and work flows. The primary areas where amoebaOS "shares common ground" with OS X are the application launcher, consistent unified menu, and the "A window is not an entire application" paradigm. Aside from these areas, the our interface was created so that all users can feel immediately comfortable with amoebaOS, while remaining progressive and extremely task focused. 

User Script-ability

amoebaOS opens up absolutely every detail of the Operating System through various JavaScript interfaces. Without going into too much detail, just imagine being able to control and modify your Operating System with a level of access similar to using GreaseMonkey or browser add-ons. It's a wonderful world when you can customize your system using the same programming language it was created with. With the ability to run custom scripts and applications at the point of log-in, it's trivial to preserve even the most complex custom workspace across sessions, computers and even user accounts.


The decision to provide full object constructor access was made very early on in development. The standard set of UI controls are great, but every application is unique and often custom controls to remain simple and effective. Since every application and script has access to the Application and Application.Controls objects, integrating custom user-interface elements into the native OS APIs requires only a basic understanding of JavaScript object constructors. 

[edit] This article has also been posted in the About section.

About :

Leave a Comment

Post Comment