Building a better desktop...
See Video Demo of DesktopX 2
Our story so far...
Back in 1999, Stardock began working on a program that would extend Windows to support "real objects" right on the desktop. This program would then be incorporated into Stardock's Object Desktop suite (so that it would live up the its name-sake - OBJECT Desktop).
The concept for this desktop came from IBM Taligent project along with Microsoft's vision for "Cairo". The idea being that little static pictures (aka "Icons") on the desktop, being an artifact from limitations of display technology in 1984 had outlived their usefulness. In their place would be real objects. These Objects could send and receive messages, have multiple states, animated, variable in size, react to system events, etc.
Objects could even be grouped together and formed into an entire desktop environment (a "theme") that could be exported for use by others.
By 2001, DesktopX 1.0 was completed and released. Since then, it's gotten over 2 million downloads from various sites. But DesktopX 1.0 was limited in a few ways. First, it could only be extended by plugins. While plugins are not difficult to write, it made it so that only real software developers with compilers could add new functionality to DesktopX. Secondly, DesktopX users tended to use it to apply very visually intensive themes that completely changed the way Windows looked. As a result, new users were often intimidated at having a program completely alter their desktop. While thousands of stand alone objects were created and exported, most of these objects were purely eye candy. I.e. DesktopX was used to create super great animated icons while it's native power went largely unused.
Here are some popular themes and objects from DesktopX 1.0:


In the case of themes, the entire desktop was stripped away replaced with one radically different. DesktopX's power to create environments found use by movie and TV studios looking to quickly and easily create "futuristic" computer screens. In the recent movie "The Recruit", Touchstone used DesktopX to create custom desktops for instance.
As for DesktopX objects, they are great to look at. With its integrated alpha blending, seamless animation, memory compression, and freeform size controls, users could do "neat stuff" with their existing desktops.
The Next Generation
Stardock's goal for DesktopX 2 is to make it useful on a mass scale. Part of that goal has been to make it so that by default, DesktopX does something many users want without having it hijack their desktops with some "theme". To that end, DesktopX 2 comes with a new technology called IconX.
IconX
IconX inherits your existing desktop and allows you to apply effects to your icons. In short, it brings the eye candy out right away in a very simple way to appeal to casual users.

DesktopX can make your existing desktop look nice while using little memory. Stardock hopes to vastly increase the installed base of DesktopX by having it by default do something fairly straight forward that will appeal to casual users and ease them into the "object" way of doing things.

Once IconX is on, the user can tweak the heck out of their desktop icons such changing the size, coloring the labels, adding shadows to icons and labels, etc.

Users can add sounds and visual effects to different mouse evens with their icons.
Securing the desktop
As users become familiar with DesktopX, they'll begin exploring its other features. One such feature are the security features. DesktopX can lock down a desktop. A user can hence, get their computer set up in a specific way and then secure it. Libraries, universities, kiosk developers, etc. have found use for this feature already.

DesktopX can secure your desktop
Welcome to real objects 101
The next phase is adding actual DesktopX objects. IconX is a kind of half-way house between static icons and DesktopX objects. IconX (extended icons) icons can respond to mouse events and change their appearance as such. Or put another way, IconX is basically what people used DesktopX 1 objects for. So for DesktopX 2, they streamlined that in the hopes that real DesktopX objects would be used for more productive and useful things.
The user interface of DesktopX has been cleaned up to make using it more intuitive. Objects and icons have very similar property dialogs now and as a result, the additions provided by an object are more apparent.

Creating an object.
DesktopX objects can be any size. IconX can set the size of desktop icons globally. DesktopX objects can be of any size and shape on a per object basis.

Changing the default look of my new icon.
Another property of objects is that their relative position on the desktop can be modified. That is, whether they're always on top, always on the desktop or treated like a window (i.e. you click on it and it shows up on top of everything). Moreover, you can control how objects behave when resolution changes. Do you want them to be over on the right edge or be centered or just stay in the same relative position?

Objects offer a lot more control than icons.
Where objects really differentiate themselves from icons is that they have actual states. An icon is just a static picture. It doesn't react to events. An object does. In DesktopX, users can add their own states (either one of the standard ones like "Mouse over" or a user defined state).

Creating states in DesktopX 2 takes only a couple of clicks.

A new option in DesktopX 2 is the ability to give objects a shadow as well as determine the size of an object.
Extending the desktop
In DesktopX 1, adding new functionality to the desktop required creating a plugin. This instantly raised the threshold on the effort required to extend it.
With DesktopX 2, scripting has been seamlessly integrated into objects. Just right click on an object and bring up its properties and one of the options is to create a script. When you do that, an editor is opened and from there you can choose which language you want to use (Javascript, VB Script, etc.)

DesktopX scripts come with intellisense. This allows developers to extend objects without having to refer to documentation. Typically, to do something interesting a developer only needs to go onto Google and search for things like "Getting the Up time on a computer using VBScript". Then in the editor just telling the object what to do.

In this example, the developer is having the object change its hue every 50ms.

Once enabled, the object's huge changes. Look closely at the film colors in this shot compared to the previous one. All this in 4 lines of script.

Now the developer is having the object move 1 pixel every 50ms.
Video of object in action
Video of importing scripted fish objects
By using Windows scripting host rather than some proprietary scripting language, users can apply their existing knowledge of VB Script or Javascript as well as build up their own skills. Much of the pain of programming is usually a result of trying to put things on the screen in a nice, memory efficient, and easy way. DesktopX takes care of the visual and audio portions for the developer. The developer only has to worry about the logic behind it.
The next logical step is to create objects that do useful things. This brings us the the inevitable weather object. Every app that can connect to the Internet in some way inevitably has a weather object. That's because it's reasonably easy to do and somewhat useful.
What makes DesktopX different is the ease in creating such objects.

This weather object is only 53 lines of script and that includes comments and handling the user changing the area code and a button for entering the new area code to retrieve the weather. This "object" is a collection of objects combined together. When objects are combined, they form a single "window"* (*in final version of DesktopX 2) so that move together as a single entity like a standard application.

A couple of other objects such as an Amazon.com best seller browser and an uptime. Again, creates with very few lines of code. That's because ActiveX controls are handled like DesktopX objects.

Stock ticker, MP3 player. DesktopX allows for the ultimate MP3 players since it is completely free form, there is no skin format to conform to.

Slashdot.org has an RSS feed which can quickly be turned into an on screen object.
Moving an object around is pretty easy. DesktopX also lets users create text objects. With a Text object, the script merely needs to set the text. See the example below:

Create the text you want, set the size, shape shadow all from the properties dialog.

In this example the developer queried the day of the week and placed it on the screen.

Example of COM objects being treated as DesktopX objects. The user just creates an object, sets it as a particular ActiveX control on the system and can group them and combine them into a single object collection that behaves like any other application (except that it only took 1/100th the time to do).
Building Desktops
Of course, when objects are put together they can be made into actual themes. Themes appeal mainly to users and corporations looking to create a very specific (i.e. different) desktop environment. Most users will generally stick with DesktopX for individual objects (or object groups). But here are some examples of themes:

nVidia environment

"Just my Imagination"

geff's Vgreen

Matrix Revolution
Pricing & Availability
DesktopX is part of Stardock's Object Desktop . DesktopX 2 will be available stand alone for only $19.95 for non-commercial use in September 2003. Companies interested in licensing DesktopX or its underling engine API (DirectGUI) for creating custom applications can contact sales@stardock.com.