
A component of Object Desktop
Media
Guide / White Paper
© 2001 Stardock.net
DesktopX is a program that allows users to create their own customized desktop. It does this by extending the existing Windows shell to provide a whole range of new features. These features primarily come in the form of objects that provide nearly unlimited ways of customizing the shell.
DesktopX can replace the Start bar, system tray, and task
bar should the user wish to as well as everything on the desktop. DesktopX
objects can be used in place of Windows icons or used side by side with them.
Unlike Windows icons, each DesktopX object can be any size and any shape and
more importantly react to messages from the system (such as mouse over, program
launching, and custom user events).
Because DesktopX objects are true objects, unlike Windows
icons, they can be easily animated to react to different messages as well as
display visual information on what they are meant to represent without the need
to have what it represents opened. A typical example would be a DesktopX object
representing ones email program that could change its appearance or make a
sound if there is email waiting to be downloaded without having the email
program loaded. The object simply responds to an OS message that there is email
waiting and changes itself accordingly.
Additionally, DesktopX objects are easy to create, most of them require no programming. Objects can be
imported and exported and therefore traded over the Internet allowing users to
mix and match objects.
The net result is that individuals and corporations can
create completely customized desktops that suit their specific requirements
rather than having to deal with the one-sized fits all design of the Windows
explorer shell.

Figure 1
DesktopX allows corporations to make desktops that are very clean and simple to
use and distribute it out to their users.

Figure 2 DesktopX used to create a "kid
proof" desktop. Some early adopters have used DesktopX to turn an old
machine into the "kid's machine" without having to worry about it
getting messed up easily.

Figure 3 Power user's desktop with all their
common programs and objects set up.

Figure 4 DesktopX could be used to recreate a MS Bob-like theme in a matter of hours but with object oriented underpinnings.

Figure 5 Another early adopter creates a very customized looking desktop.

Figure 6 DesktopX doesn't have to replace your Windows desktop. DesktopX objects can be side by side with your standard Windows icons on your deskop.
Most people take for granted today how they interact with
their computer. Whether it is Windows or Linux or Macintosh, most users have
little choice in how they organize their programs and data. On Windows and most
shells on Linux, the user’s shell has a bar typically at the bottom of the
screen. At the bottom left is a button that brings up a menu that allows the
user to wade through their various programs to find the one they want. Most
users take this for granted. That’s just how computers work. Thus, every
computer is working exactly the same way regardless of what it is being used
for.
Computers are unique in this respect. Every other product
used by people comes in multiple flavors to suit the particular needs of
customers. Cars, refrigerators, cell phones, televisions, houses, ovens, etc.
all come in many shapes, colors and styles to suit the needs of individual
users. Yet computers, which are used for a much larger variety of things than
other products, come as a one size fits all solution.
This is where Stardock's Object Desktop comes in and the
DesktopX component of it in particular. It's designed to allow users to
transform Windows into precisely what they want it to be. DesktopX specifically combines two
technology trends together: desktop themes and object oriented desktop environments.
Over the past few years, an increasing number of users have
wanted to have more control over the way their PC worked. A number of
developers got together and created an alternative, open source shell called Litestep. Litestep replaces the
Windows shell known as Explorer. Developed by hobbyists, Litestep
has attracted thousands of users who use that shell and its ability to load up
a particular customizable shell interface known as a “theme”. Litestep can be found at http://www.litestep.net.
The problem is, anything that
requires replacing the Windows shell is going to limit the number of people
willing to use it. Jettisoning Explorer is a pretty major operation for an end
user to make. Moreover, a Litestep theme is
monolithic. Users can’t easily change a theme or add new items to it and is
thus a “take it or leave it” setup. Additionally, items on the desktop tend to
be hard coded to specific paths (example: a graphic representing MS word might
be hard coded to e:\my programs\microsoftword)
requiring users to spend a lot of time tweaking those links or spending time
modifying the theme to eliminate graphics that point to programs they don’t
have.
DesktopX addresses these issues by working with the
existing shell. It also introduces the concept of desktop parts (DesktopX
objects) that users can mix and match parts of desktops by trading objects.
DesktopX themes can be resolution independent so the user does not have to
change their screen resolution to match the theme creator’s resolution. And
DesktopX has “SmartFind” built in so that a MS Word
object will find MS Word no matter where it is located on a user’s machine.
Back in the early 90s, Apple, IBM, and Microsoft all wanted
to take the desktop to “the next generation”. After all, the static picture
(icon) representing a program metaphor was from 1984. Each company spoke at
length of their own vision for the next step in the GUI evolution. IBM and
Apple teamed up to take forward a vision called “Pink” that was to produce a
new OS called Taligent along with a new object
architecture called OpenDoc. Microsoft countered with its own vision called “
In both visions, the idea was to break the desktop into
“parts”. Icons would be replaced with objects that could interact with the
system and other objects. Users could easily build their own customized
applications by mixing and matching parts (objects) and send them back and
forth. A common IBM example was of a user sending another user a spreadsheet
that contained a mini-spreadsheet part in email. The user on the other end
wouldn’t need to have an entire Spreadsheet program installed,
the spreadsheet “part” included would allow the receiving user to use the
attached spreadsheet.
Another IBM example was of the desktop objects themselves
being “live objects” such as the printer object. The printer object would
actually be able to display its paper and toner status as part of the visual
appearance of the object. If the printer ran out of toner, the printer could
send an email message to the IT manager and visually display that it was out of
paper. If the user moved their mouse over the printer, it might display the
other jobs in the printer. All without having to load a
separate print-monitoring program. (Windows 98/ME/2000 and OS/2 all have
implemented a fairly hacked implementation of this vision).
Other promises for such desktop objects included having
these living objects be able to tell the user how much
RAM or CPU that the associated programs were using. Load up Word Pro and the
Word Pro object would change to display that it is opened and how much RAM it
was using up.
The idea behind these technologies was to break software
into components. Rather than having all
of Outlook loaded, for instance, you could just have the parts of it you needed
loaded. And these parts could be
distributed amongst users so that data and executable were merged into an
“object”. These objects were called “Parts” or OpenDoc parts in IBM/Apple’s
vision.
Microsoft’s vision with Cairo is harder to track. No one is
quite sure what Cairo was except that it was going to compete with whatever
Apple/IBM came up with. At one point
Microsoft conceded that Cairo was a set of technologies that would be
integrated into Windows over time. What those technologies are or were no one
really knows but the general overview of it was to provide users with an object
oriented way of handling their programs and data. But it could be argued that
ActiveX, COM, and Active Desktop are technologies that grew out of that
movement.
History has shown that Windows won the OS Wars and all this
talk about letting people trade parts/objects back and forth and allowing end
users to easily transform their computing environment disappeared with the end
of the OS Wars. And so we're back to where we started - lots of coding needed
to do small things with most people interacting with their desktops in the identical
way – either wading through a “Start” menu or clicking on static 32x32 pixel
pictures (icons) thrown all over an arbitrary directory called “a desktop”.
But Stardock hadn’t disappeared. It was heavily involved in the betas for
OpenDoc and Taligent.
And it kept up with what Microsoft was doing as well. To bring the Cairo/Taligent/OpenDoc
concept to the general user is where DesktopX comes in. DesktopX seeks to
combine the strengths of what OpenDoc/Cairo/Taligent
offered to end users and developers combined with meeting the needs of the
existing core base of “themers” so that it can grow
into a mainstream movement.
Stardock has limited the scope of DesktopX to concentrate
all its resources on what it does best – allow users to control how the shell of
Windows operates (OpenDoc was system wide, applications could use it). This
also means it’s not cross platform (OpenDoc was available on Windows NT, OS/2, MacOS, and AIX). And it doesn’t provide a “new” object
standard but instead relies on what is already available (Standard Windows
messaging, C++ DLLs, COM, Windows Scripting Host, XML, ActiveX, etc.) to do its
thing. Why did Stardock do this? The first reason is pretty obvious, if IBM,
Apple, and Microsoft had difficulty finishing such ambitious projects,
a smaller company is not likely to have those kinds of resources either.
Moreover, it is a matter of diminishing returns. The real use of the
Apple/IBM/Microsoft vision was in how people would be able to interact with
their desktops.
But these trade offs result in
an unprecedented control over the way the Windows desktop works. They can
still create “themes” ala Litestep but now these
themes are resolution independent, they are made up of objects that can be
imported from other users and from various download sites. Any end user can
easily manipulate any object. There is no programming required to make a
typical DesktopX object.
In short, it finally makes it possible for Windows to be
like other mature products on the market – easily customizable to suit the
needs of its customers. Users can make Windows work the way they want it to.
Today, DesktopX can allow users, IT managers, and consultants to create personalized or proprietary desktop environments for both home and corporate user. It has been used to create custom desktops for use in everything from kiosks, corporate desktops and even in movies to create a “futuristic looking desktop”.
This portion of the document will try to explain what DesktopX is and why it’s important and how personalized desktops can be very useful.

Nearly every person’s desktop looks something like above. You have the start bar on the bottom, some (usually a tons) of icons on the left side. Regardless of how that machine is being used, this is how it will look and act. What’s worse, this is probably an idealized case, most desktops have dozens of icons spread all over the desktop making it a confusing mess.
This is a one sized fits all solution. It works generally well for most people. The problem is that PC’s today are used for a whole host of different ways. The further away from a general desktop system the PC gets, the more time/training costs go up.
This is where DesktopX can come into play. It allows individuals and corporations to completely change the desktop to suit their needs.
DesktopX 1.1 introduced DXScript, a scripting layer that allows DesktopX to treat COM objects as DesktopX objects and interact with them. Hence, if a user wants to have a desktop that is essentially a pre-arranged spreadsheet, a browser page, and instant messaging, DesktopX can do this and hide the rest of Windows away.
The next version of DesktopX is code-named DesktopX NG (Next Generation). It expands on DXScript to provide a new type of component known as a “wrapper”. The problem with COM objects is that they are complicated for end users to interact with. A typical system has hundreds of COM objects installed and defining what they can and can’t do requires a developer.
DesktopX NG’s wrappers let developers to create user friendly front-ends to handle different common COM objects.
DesktopX is part of Object Desktop, which is delivered by
the .NET Application Service Provider Stardock.net (www.stardock.net and www.objectdesktop.net).
It can be
reached at:
Phone:
734-762-0687
Fax:
734-762-0690
Email: sales@stardock.com
Product Manager:
Brad Wardell – bwardell@stardock.com
Object Desktop costs $49.95, includes a 1 year subscription to ObjectDesktop.net.
OpenDoc
For IBM’s view
on OpenDoc visit:
http://www-4.ibm.com/software/ad/opendoc/position.html
For IBM’s view
on how the PC desktop was supposed to work download:
http://www.stardock.com/files/cuademo.zip
http://www.d.kth.se/~d95-aeh/taligenb.html