WindowBlinds 3

White Paper

Last Updated: 8/28/2001

 

Executive Summary and Philosophy

WindowBlinds is a program that allows users and corporations to completely transform the Microsoft Windows graphical user interface (GUI) to look exactly how they want it to. WindowBlinds can make the Windows GUI look like another operating system (Macintosh, Linux, etc.) or something completely new.  Many users use it to give Windows a totally new look.  Corporations use it to brand their desktops or to extend the GUI to support corporate requirements (such as adding a help desk button to the title bar or a web link button on the title bar).  WindowBlinds 1 was released in September 1999 and since then has built an installed base of over 4 million users worldwide.  Now, 2 years later, Stardock is preparing to release the third generation version of WindowBlinds – WindowBlinds 3 which has been previously code-named “WindowBlinds XP”.

 

Normally most programs get increasingly bloated as they gain in version numbers. In desktop enhancement software, the goal is the opposite. As the developers get better at exploiting features in the operating system, the software becomes smaller, faster, and more compact. While becoming leaner and faster, good software should gain meaningful features that make it more useful to a wider audience.

 

This philosophy could be used to describe WindowBlinds 3.  It is designed to use much less memory than previous versions, have a tighter code base, yet add new features that are worthwhile to both existing customers and new users.

 

Specifically, WindowBlinds 3 adds:

 

 

This document will describe these features in detail. It will conclude by outlining what features will be available in the “shareware” version versus what will be available to customers.

 

 

SkinEngine XP

 

During the beta of Microsoft Windows XP, Stardock worked closely with Microsoft in developing a native Windows XP version of WindowBlinds.  The idea was to try to use as much of Microsoft’s new Windows XP features as possible.  The beta version of this new version was called WindowBlinds XP which is what has served as the base of WindowBlinds 3.

 

Windows XP allows users to choose between the classic Windows look and a new “Windows XP” style look. In order to do that, Microsoft developed a framework of APIs that allow theme aware applications to take advantage of these radically different looks.

 

Stardock WindowBlinds XP takes Microsoft’s visual style APIs and extends them to support the thousands of WindowBlinds skins natively. 

 

For WindowBlinds 3, this new architecture is being brought to all versions of Windows from Windows 98 to Windows 2000.  Since earlier versions of Windows do not have the Microsoft theming APIs, Stardock is creating them in their place.  Thus, a theme aware application on Windows ME will think it’s running on Windows XP.

 

Figure 1 WindowBlinds 3 architecture when running on Microsoft Windows XP. WindowBlinds 3 is native Windows XP extension that extends what is built into Windows XP.

 

 

Extensions to the Microsoft Visual Style Engine.

That said, WindowBlinds 3 does more than simply use the Windows XP visual style engine. It embraces it and extends it.  Specifically:

 

1)      WindowBlinds 3 dynamically makes existing applications “theme aware” which will allow virtually all programs on Windows XP to be fully skinned. Without WindowBlinds 3, existing programs running on Windows XP will have parts that look like Windows XP style and parts that look like Windows classic (unless they are theme aware). In short, if you want Windows XP to look like Windows XP consistently, you need WindowBlinds 3.

2)      WindowBlinds 3 can dynamically change the color of the interface.  In Windows XP, 3 different color choices are provided: Blue, Silver, and Olive Green. Other colors options can only be obtained through the download of a completely new color scheme.  However, a PC with WindowBlinds 3 installed will be able to change the color to any color they would like through the standard color palette.  Want a purple Windows XP style GUI? Pick purple and you’re set.

3)      WindowBlinds 3 adds the ability to have Smart Bars and supports all the features of Stardock’s UIS1+, UIS2, and upcoming UIS3 skin languages. To the point, WindowBlinds can add stock tickers, MP3 players, quick launch bars, clocks, memory meters, URL buttons, etc. to the Windows GUI.

4)      WindowBlinds 3 takes advantage of years of experience in “skinning” Windows. This can translate to some performance advantages in some cases.

 

WindowBlinds 3 running on Windows 98, ME, NT, 2000

 

On existing versions of Windows there is no Windows XP visual style engine to use.  Since WindowBlinds 3 heavily relies on this, Stardock has created from scratch its own compatible visual style API. Creating this new engine also provided Stardock with the opportunity to go back to the drawing board and use its experience to come up with a tighter, more integrated system.  WindowBlinds 1 and WindowBlinds 2 were “add-ons” to Windows.  WindowBlinds 3 is designed to feel part of the operating system itself.

 

 

When comparing technologies, Stardock has nothing to compare WindowBlinds 3 to except for WindowBlinds 2.  The differences (architecturally) between WindowBlinds 3 and WindowBlinds 2 are:

 

1)      When a user loads a program, the entire skin is attached to that process. Entire skin means all the possibly GUI controls (scrollbars, progress bars, radio buttons, etc.).  Even if the application has no scrollbars or progress bars, these controls are still loaded into memory.  This causes WindowBlinds 2 to use significantly more memory than it should (consider how many programs are running – including system tray programs, on a typical system).  Consider that the size of a skin can often be 500K of memory when the images are uncompressed, this means every program is using 500K extra of memory regardless of how insignificant it is.  Users would report that WindowBlinds seemed to use a lot of RAM.  But with WindowBlinds 3, only the GUI components used are loaded.  Most programs only use a few GUI controls and thus the memory savings should be very significant.

2)      To save on resources, WindowBlinds 2 when run on Windows ME/98 loads skins from a shared memory space.  This is not…an optimal solution from a stability standpoint.  Windows 98/ME are simply not robust enough to count on this to work.  It usually works fine and will work fine on a newly installed machine. But as users install countless programs that are resident, conflicts can arise and it’s typically WindowBlinds that’s gotten the blame.  In WindowBlinds 3, each program will have its own copy of the skin.  While this uses more GDI/User resources than the older method, this should be more than offset by the new engine that only loads the parts of the skin needed for that application.

3)      WindowBlinds 3 will make use of DirectX when needed to increase compatibility or performance.  WindowBlinds 2 is purely GDI.

4)      WindowBlinds 3 makes existing applications running Theme Aware.

5)      WindowBlinds 3 has the same features as it does running on Windows XP. In short, a user running Windows 2000 will have the same visual feature set as someone running Windows XP running WindowBlinds 3. This means a corporation can more quickly adopt Windows XP and use WindowBlinds to provide a consistent corporate environment on machines running earlier versions of Windows.

6)      WindowBlinds 3 uses DIBs for graphics, WindowBlinds DDBs.  The change should make WindowBlinds more compatible on video cards that have questionable driver support.

 

The new interface

 

Previous versions of WindowBlinds came with a powerful but somewhat complex configuration program.  The user accessed it by double clicking on the system tray icon for WindowBlinds.

 

Figure 2 In WindowBlinds 3, users will access WindowBlinds through the display properties dialog.

 

In WindowBlinds 3, the user will access skins through their display properties.  On Windows XP, this is done through the Appearance dialog where WindowBlinds skins appear along with Microsoft’s two visual style choices (Windows classic and Windows XP style).  On Windows 2000/ME/98, a new tab called “Skins” will appear that will look identical to the Appearance dialog in Windows XP.

 

Smart Bars

 

In WindowBlinds 2, users would regularly download skins that featured extra features like a roll-up button or an always-on-top button or an MP3 player or a clock. But ultimately, the skin author had total control over which GUI controls the skin had.

 

With WindowBlinds 3, the user begins to have some control. Designated areas of the skin are set aside by the skin author to let the user insert what they want into those areas.  A user who really enjoys the Windows XP “silver” look could thus add a clock or an MP3 player or a button that opens their home page onto the title bar.  This will greatly increase the productivity value of WindowBlinds.  Users should not think of WindowBlinds 3 as simply “eye candy” but instead see it as a powerful productivity enhancement that happens to do it in style.

 

Figure 3 WindowBlinds takes control of the frame of a window. That includes the title bar and borders. Smart Bars allows users to insert their own controls and items into these areas.

 

SkinCast

 

Stardock has been working on a distributed skin mechanism for some time and it finally becomes a reality with WindowBlinds 3.

 

Users can subscribe to different skin “channels” and each week (or more often) the channel can update the user’s GUI.  It should be noted that WindowBlinds not only can change the Windows GUI but the wallpaper instead.  Thus, SkinCast can be used to deliver new wallpapers, skin updates, and much more to the users who subscribe to those channels. By the launch, Stardock will have a “Most popular skin” channel which will let users download the most popular skin used by those not subscribed to that channel plus a WinCustomize channel which will take the most recently featured WindowBlinds skin from WinCustomize and provide that.

 

SkinCast has also been developed for corporate use.  IT managers will be able to create new Windows GUIs using Stardock SkinStudio and then distribute those branded or extended GUIs to their users (or customers) through SkinCast.  A corporation who signs up with SkinCast can have their channel added to the list.

 

This feature can be extended to consumer use as well where popular skin authors could have their own SkinCast channel and users could subscribe to that channel to receive the latest skin by their favorite skin author.

 

The UIS3 Skin Language

 

WindowBlinds 2 introduced UIS1+, a high-speed skin language that combines performance with maximum compatibility.   As WindowBlinds has matured, most people have found that the more powerful UIS2 language is fast enough and compatible enough (virtually all skins use UIS2) for their needs.

 

With WindowBlinds 3, Stardock is developing a brand new skin language option for skin authors called UIS3.  Stardock is expanding UIS2 to support new features such as the new Windows XP start bar skinning, but UIS3 is designed for the truly professional skin authors who want to have complete control over the GUI.

 

UIS3 is an advanced skinning language that supports Stardock NVF (Native Vector Format).  UIS2 can only support bitmaps.  UIS3 can have vectors which can make skins significantly faster.  UIS3 also allows skin authors to create skins that have many different aspects to them based on the situation.  For example, UIS2 push buttons have a fixed number of images in them which are required even if all of the images look the same.  In UIS3, the skin author specifies how many states the control will have and under what circumstances it will be used.  Again, greater complexity in exchange for greater control. 

 

UIS3 and NVF can’t be described in terms of “better” or “faster” or “smaller”, but can instead be summed up in one word: Control. UIS3 is simply designed to provide the skin author with complete and precise control.  A UIS3 skin could have no bitmaps in them at all and use virtually no RAM and be much faster.  Or a UIS3 skin could be a mega skin with tons of animations, bitmaps, etc.  It’s up to the skin author. 

 

UIS3 will probably not ship with WindowBlinds 3.0 but instead as a later update (such as 3.1).

 

Shareware versus Enhanced Version

 

In WindowBlinds 2, the shareware version has a number of GUI controls hard coded to not be enabled (such as scrollbars).  A user wanting scrollbars has to purchase WindowBlinds.

 

In WindowBlinds 3, the new underlying engine presents new opportunities.

 

The shareware version will basically provide the user with the Windows XP experience extended.  This means that, like Windows XP itself, most existing applications will not be completely skinned. 

 

A user reading this currently using say Windows ME probably doesn’t understand what is meant by this.  Here is screenshot of Windows XP standard running the Silver color scheme:

 

Figure 4 Look closely, notice that while the title bars are all skinned, the push buttons are not. The checkboxes are not, the tabs are not, the properties dialog isn't, etc.  Windows XP only skins theme aware applications completely (for compatibility reasons).

 

This is essentially what WindowBlinds 3 shareware will be like.  It’ll skin what Windows XP would skin alone.  If users want their systems completely skinned, then they will need to get the enhanced registered version.

Figure 5 Same desktop but with WindowBlinds 3 (enhanced registered version) running. Notice now how the system is fully skinned?

 

Additionally, only 3 Smart bars will be included with the shareware version (clock, quick launch menu, and one other).

 

WindowBlinds 3 will be $19.95 to register (or $49.95 as part of Object Desktop which includes Stardock’s entire desktop extension suite).  Users of WindowBlinds 2 who purchased before July 1, 2001 can upgrade for $10.

 

WindowBlinds 3 will be available on October 16th.

Contact Information

Developed by Stardock.net, Inc. http://www.stardock.net

Stardock.com http://www.stardock.com

WindowBlinds home page: http://www.windowblinds.net

Email contact:

Brad Wardell

Product Manager: Object Desktop

bwardell@stardock.com